INC $ll

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Mnemonic: INC $ll
Opcode: $E6
Operand(en): $ll
Anzahl der Bytes: 2
Befehlsgruppe: Arithmetik- und Logikbefehle
Adressierung: Zeropage
Beeinflusste Flags im Statusregister:
Negative-Flag
Zero-Flag
Taktzyklen: 5
1 PC R Lese Befehl, inkrementiere PC
2 PC R hole Adresse, inkrementiere PC
3 Adresse R lese von effektiver Adresse
4 Adresse W schreibe Wert auf effektive
Adresse zurück und führe
Operation auf den Wert aus
5 Adresse W schreibe neuen Wert auf effektive Adresse


Der Assembler-Befehl INC $ll erhöht den Inhalt der Zeropage-Adresse $ll um 1.
Bei einer Erhöhung des Wertes 255 ($ff) wird der neue Wert wieder 0.

Funktionsprinzip

Ass befehl e6.gif

Bedeutung der Buchstaben im Befehl

INC INCrement Memory
Erhöhe Speicherzelle

Einzelnes Byte

           inc $02      ; Erhöht den Inhalt von $0002 um eins.

16-Bit

Der 16-Bit-Wert befindet sich in den Speicherstellen COUNT (Low-Byte) und COUNT+1 (High-Byte).

           inc count     ; Low-Byte erhöhen
           bne +         ; =0?
           inc count+1   ; ja, dann Überlauf 255->0 und High-Byte auch erhöhen
+

8/16-Bit-Addition

Klassischer Fall, bei dem ein 8-Bit-Wert zu einem 16-Bit-Wert addiert werden soll:

           clc           ; ohne Übertrag
           lda adresse   ; Grafikadresse
           adc #$08      ; Block nach rechts
           bcc +         ; Überlauf?
           inc adresse+1 ; Überlauf ins High-Byte
+


Vergleich des Beispielprogramms mit BASIC

Für BASIC V2, zugehörig zum ersten Beispiel "Einzelnes Byte":

10 POKE 2, PEEK(2) + 1 AND 255: REM AUF BYTEWERT MASKIEREN 0-255

Beispielprogramme