DEX
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | DEX |
Opcode: | $CA |
Anzahl der Bytes: | 1 |
Befehlsgruppe: | Arithmetik- und Logikbefehle |
Adressierung: | implizit |
Beeinflusste Flags im Statusregister: | |
Negative-Flag | |
Zero-Flag | |
Taktzyklen: | 2 |
Der Assembler-Befehl DEX vermindert den Inhalt des X-Registers um 1.
Bei einer Verminderung des Wertes 0 wird der neue Wert wieder 255 ($ff).
Funktionsprinzip
Bedeutung der Buchstaben im Befehl
DEX | DEcrement X-Register |
Vermindere X-Register |
Beispiel
; Dieses Programm löscht den Kassettenpuffer (192 Bytes) ; Programmstart mit SYS 49152 *=$c000 ; Startadresse des Programms PUFFER=$033c ANZAHL=192 lda #0 ; Löschzeichen ldx #ANZAHL ; Anzahl der zu löschenden Bytes byte_loeschen: sta PUFFER-1,x ; Löschen, Pufferadresse korrigiert, weil x von ANZAHL bis 1 herunter zählt dex ; Speicherindex und gleichzeitig Zähler bne byte_loeschen ; aufhören, wenn Zähler auf 0 rts ; zurück zu BASIC
Speicherauszug:
.c000 a9 00 lda #$00 .c002 a2 c0 ldx #$c0 .c004 9d 3b 03 sta $033b,x .c007 ca dex .c008 d0 fa beq $c004 .c00a 60 rts
Vergleichbare BASIC-Anweisung
Für BASIC V2:
10 X = X - 1