SED
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | SED |
Opcode: | $F8 |
Anzahl der Bytes: | 1 |
Befehlsgruppe: | Flaggen-Befehl |
Adressierung: | implizit |
Beeinflusste Flags im Statusregister: | |
Decimal-Flag | |
Taktzyklen: | 2 |
Der Assembler-Befehl SED setzt das Decimal-Flag. Damit werden forthin Additionen und Subtraktonen im Akkumulator in BCD-Kodierung (Binary Coded Decimal) statt binär vorgenommen.
Funktionsprinzip
Bedeutung der Buchstaben im Befehl
SED | SEt Decimal flag |
Setze Dezimal-Flagge |
Beispiel
Konvertiert einen 8-Bit-Wert in ein 4-stelligen BCD-Wert (in 2 Bytes)[1]:
BINBCD: SED ; Decimal-Mode aktivieren LDA #0 ; Ergebnis auf 0 initialisieren STA BCD+0 STA BCD+1 LDX #8 ; Anzahl der Binärwert-Bits CNVBIT: ASL BIN ; Ein Binär-Bit ins Carry LDA BCD+0 ; und in BCD-Wert übernehmen ADC BCD+0 ; ebenso durch Verdopplung STA BCD+0 ; mittels Addition mit LDA BCD+1 ; sich selbst in 4 BCD-Ziffern ADC BCD+1 STA BCD+1 DEX ; nächstes Binärwert-Bit BNE CNVBIT CLD ; wieder Binary-Mode
Vergleichbare BASIC-Anweisung
Keine vergleichbare BASIC-Befehlsfolge vorhanden.
Beispielprogramme
Quellen