BCD Wert Inkrementieren

Gast #1754460
Lesenswert?

Teile die BCD-Zahl in zwei Byte , INC das LOW-Byte, prüfe ob größer 9, 
falls ja, dann setze dieses Byte=0 und erhöhe das HIGH-Byte.

Füge die beiden Bytes wieder richtig zu einem BCD-Byte zusammen.

B.
Gast #1754472
Lesenswert?

Es liegt wohl eher daran, dass du uns über vieles im Unklaren lässt.

Selbstverständlich funktioniert es mit "inc", solange die BCD-Stelle 
(Nibble) kleiner 9 ist. Über 9 muss ein Übetrrag auf die nächste Stelle 
erfolgen.
#1754476
Lesenswert?

BCD sind eben nur 4 Bits eines Bytes.

Es sein denn, Du meinst packed BCD.

Das verwendet man heutzutage eigentlich nicht mehr. Die meisten 
Programmiersprachen rechnen direkt Dual und wandeln erst bei Eingabe 
bzw. Ausgabe nach dezimal (BCD oder ASCII).

Der 8051 hatte noch eine DAA-Befehl, habe ich aber nie benötigt.
Der AVR hat aber noch das H-Flag. Damit kannst Dir das ausgestorbene 
packed BCD basteln, wenns Dir Spaß macht.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren