DEX

Aus C64-Wiki
(Weitergeleitet von dex)
Zur Navigation springenZur Suche springen
Mnemonic: 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

Ass befehl ca.gif

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

Beispielprogramme