Gast
#1754410
Hallo, ich habe ein Problem und zwar muss ich in Asm einen BCD Wert um 1 erhöhen wie mache ich das?? Gruß
|
Anzeige
|
BCD Wert Inkrementieren
Gast
#1754410
Hallo, ich habe ein Problem und zwar muss ich in Asm einen BCD Wert um 1 erhöhen wie mache ich das?? Gruß Hängt von Assembler und vom Target ab. Peter
Gast
#1754421
Oh stimmt das hätte ich dazuschreiben sollen! Also ATmega8 und AVR Studio
Gast
#1754432
Ähm ich glaube ich bin falsch verstanden worden. Ich möchte eine BCD-Zahl um 1 erhöhen, und das geht nicht mit INC weil dann kommt quatsch raus.
Gast
#1754456
Hat wirklich keiner ne Ahnung wie ich das Lösen könnte?
Gast
#1754460
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. Hallo schrieb: > Ich möchte eine BCD-Zahl um 1 erhöhen, und das geht nicht mit INC weil > dann kommt quatsch raus. Du musst danach noch den ggf. aufgetretenen Übertrag beachten und dann in die nächste Stelle befördern. Stichwort Half-Carry-Flag...
Gast
#1754465
Du kannst aber auch das Byte einfach mit INC erhöhen. Prüfe ob die rechten 4 Bit >9. Falls ja, dann zähle noch 6 dazu.
Gast
#1754469
Oder SuFu Beitrag "Re: Gepackte BCD-Zahl inkrementieren" ;-)
Gast
#1754472
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.
Gast
#1754474
Gut Danke 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 schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|