Hallo! Wie kann ich in C am einfachsten gepackte (also 8Bit) BCD-Zahlen erhöhen? In Assembler gibt es ja diese Korrekturanweisung DA oder DAA um nach einer Inkrementierung das Ergebnis korrekt in BCD darzustellen. Gibts sowas ähnliches auch in C oder muss ich das hier zu Fuß machen? Es geht um die Programmierung einer einfachen Uhr, die aus diversen Gründen in BCD zählen soll (jeweils ein Byte für Sekunden, Minuten und Stunden). Gruß, Stefan
Ich würde die Zeiten in binär führen, da inkrementieren und nur für Anzeigezwecke die Binärwerte in BCD wandeln.
Die Assemblerbefehle DA und DAA von C aus aufrufen. Welchen Compiler setzt du ein?
ich verwende avr-gcc (aktuelle version). hab mich aber glaub ich geirrt. beim avr gibts den da befehl doch nicht. kenne das nur vom 8051 und da klappt das super :) aber ist auch nicht so tragisch. die uhrzeit wird ja nur einmal pro sekunde erhöht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.