Server read only due to being migrated.
Das Wiki ist im Nur-Lese-Modus, da es gerade migriert wird.
DEC $hhll
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | DEC $hhll | ||
Opcode: | $CE | ||
Operand(en): | $ll $hh | ||
Anzahl der Bytes: | 3 | ||
Befehlsgruppe: | Arithmetik- und Logikbefehle | ||
Adressierung: | absolut | ||
Beeinflusste Flags im Statusregister: | |||
Negative-Flag | |||
Zero-Flag | |||
Taktzyklen: | 6 | ||
1 | PC | R | Lese Befehl, inkrementiere PC |
2 | PC | R | lese Adress-Lowbyte, inkrementiere PC |
3 | PC | R | lese Adress-Highbyte, inkrementiere PC |
4 | Adresse | R | lese von effektiver Adresse |
5 | Adresse | W | schreibe Wert auf effektive Adresse zurück und führe Operation auf den Wert aus |
6 | Adresse | W | schreibe neuen Wert auf effektive Adresse |
Der Assembler-Befehl DEC $hhll vermindert den Inhalt der Speicherzelle $hhll 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.
; Diese Programm lässt den Bildschirmrahmen flimmern. ; Programmstart mit SYS 49152 *=$c000 ; Startadresse des Programms schleife dec $d020 ; Vermindert den Inhalt von $d020 (Rahmenfarbe) um eins. jmp schleife ; Endlosschleife
Speicherauszug:
.c000 ce 20 d0 dec $d020 .c003 4c 00 c0 jmp $c000
Vergleich des Beispielprogramms mit BASIC
Für BASIC V2:
10 POKE 53280,PEEK(53280)-1 AND 255 : REM AUF BYTEWERT MASKIEREN 0-255 20 GOTO 10