Server read only due to being migrated.
Das Wiki ist im Nur-Lese-Modus, da es gerade migriert wird.
DEC $ll, X
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | DEC $ll,X | |||
Opcode: | $D6 | |||
Operand(en): | $ll | |||
Anzahl der Bytes: | 2 | |||
Befehlsgruppe: | Arithmetik- und Logikbefehle | |||
Adressierung: | Zeropage X-indiziert | |||
Beeinflusste Flags im Statusregister: | ||||
Negative-Flag | ||||
Zero-Flag | ||||
Taktzyklen: | 6 | |||
1 | PC | R | Lese Befehl, inkrementiere PC | |
2 | PC | R | hole Adresse, inkrementiere PC | |
3 | Adresse | R | lese von Adresse und addiere Index-Register | |
4 | Adresse + X* | R | lese von effektiver Adresse | |
5 | Adresse + X* | W | schreibe Wert auf effektive Adresse zurück und führe Operation auf den Wert aus | |
6 | Adresse + X* | W | schreibe neuen Wert auf effektive Adresse | |
Anmerkung: | * das Highbyte der effektiven Adresse ist immer Null, d.h. Seitenüberschreitungen werden nicht beachtet |
Der Assembler-Befehl DEC $ll,X vermindert den Inhalt der Zeropage-Adresse ($ll+X) um 1.
Bei einer Verminderung des Wertes 0 wird der neue Wert wieder 255 ($ff).
Funktionsprinzip
Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
Bedeutung der Buchstaben im Befehl
DEC | DECrement Memory |
Vermindere Speicherzelle |
Beispiel
Siehe auch Beispiele bei DEC $ll.
ldx #$01 ; Index-Register initialisieren dec $01,x ; Vermindert den Inhalt von $0002 um eins.
Vergleich des Beispielprogramms mit BASIC
Für BASIC V2:
10 X=1 20 POKE (1+X), PEEK(1+X) - 1 AND 255: REM AUF BYTEWERT MASKIEREN 0-255