-
-
Erfahrener Benutzer
Robotik Einstein
Nun
Ich würd jede Stelle einzeln dekrementieren und dabei den jeweiligen Stellenwert addieren.
2345
Du bearbeitest die Tausender Stelle
Pseudo Code....
Anfang Tausend:
ist die Erste stelle 0 ? Ja -> Zu anfang 100
Nein->Ergebnis ist Ergebnis + 1000
Tausenderstelle -1
gehe nach Anfang Tausend
Anfang 100
ist die Hunderterstelle 0 ? Ja -> Zu Anfang 10
Nein -> Ergebnis ist Ergebnis + 100
Hunderterstelle - 1
gehe nach Anfang 100
Anfang 10..........usw.
Die Tausender Routine wird 2x Durchlaufen, die 100er 3x, die 10er 4x und die 1er kannst Du direkt dazuaddieren.
Am Ende hast Du im Ergebnisregister deine 929Hex.
Dieses Register muß natürlich aus 2 Byte bestehen.
Das Ganze sollte sich in Assembler relativ geschmeidig Proggen lassen.
Es mag schnellere Methoden geben, aber diese ist relativ leicht zu durchschauen.
Du kannst natürlich auch mit den 1er Stellen anfangen.
Wenn deine BCD Zahl in Nibbles (halben Bytes) vorliegt, musst Du die Nibbles natürlich einzeln bearbeiten, also vorher trennen.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen