SED

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Mnemonic: 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

Ass befehl f8.gif

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