DEC $hhll, X
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | DEC $hhll,X |
Opcode: | $DE |
Operand(en): | $ll $hh |
Anzahl der Bytes: | 3 |
Befehlsgruppe: | Arithmetik- und Logikbefehle |
Adressierung: | absolut X-indiziert |
Beeinflusste Flags im Statusregister: | |
Negative-Flag | |
Zero-Flag | |
Taktzyklen: | 7 |
Der Assembler-Befehl DEC $hhll,X vermindert den Inhalt der Speicherzelle ($hhll+X) um 1.
Bei einer Verminderung des Wertes 0 wird der neue Wert wieder 255 ($ff).
Funktionsprinzip
Bedeutung der Buchstaben im Befehl
DEC | DECrement Memory |
Vermindere Speicherzelle |
Beispiel
Siehe auch Beispiele bei DEC $ll.
; Diese Programm lässt den Bildschirmhintergrund flimmern. ; Programmstart mit SYS 49152 *=$c000 ; Startadresse des Programms ldx #$01 ; Index-Register initialisieren schleife dec $d020,x ; Vermindert den Inhalt von $d021 (Hintergrundfarbe) um eins. jmp schleife ; Endlosschleife
Speicherauszug:
.c000 a2 01 ldx #$01 .c002 de 20 d0 dec $d020,x .c003 4c 02 c0 jmp $c002
Vergleich des Beispielprogramms mit BASIC
Für BASIC V2:
10 X=1 20 POKE 53280+X,PEEK(53280+X) - 1 AND 255: REM AUF BYTEWERT MASKIEREN 0-255 30 GOTO 20