DEC $hhll, X

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Mnemonic: 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

Ass befehl de.gif

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

Beispielprogramme