INC $ll
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | 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 |
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
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