| Assemblerprogramm zur Umwandlung einer gebrochenen BCD-Zahl in Binärcode |
|
|
Letztmalig dran rumgefummelt: 27.06.07 17:21:53 |
|
ist wahrscheinlich fehlerfrei und kann unbedenklich verwendet werden |
|
Beispiel 2:
Umwandlung einer gebrochenen BCD-Zahl (2 Stellen ohne Vorzeichen) in eine
Dualzahl mit 8 Stellen.
Eingangsparameter: BCD-Zahl in Register
A
Ausgangsparameter: Dual-Zahl in Register
A
Verfahren:
Durch Multiplikation mit 2 erscheinen
die Dualziffern der Reihe nach vor dem Komma. Für 8 Dualstellen ergibt sich
folgender Algorithmus:
:

Durch (BCD-Zahl · 2 = BCD-Zahl + BCD-Zahl) wird die Bit-Stelle vor dem Komma in das CY-Bit gebracht. Diese Stellen brauchen nur noch in ein freies Register (z. B. Register C) der Reihe nach von rechts nach links eingeschoben werden.
| Marke | Operation | Operand | Kommentar |
| PN | A2 | ||
| ;UMWANDLUNG EINER BCD-ZAHL /Z/ < 1 (2 STELLEN UNSIGNIERT) | |||
| ;IN EINE DUALZAHL (8 BIT) | |||
| DBI1: | LD | B,8 | ;ZAEHLER = 8 |
| MA1: | ADD | A | ;WERT * 2 |
| DAA | |||
| RL | C | ||
| DJNZ | MA1-# | ;RUECKSPRUNG, SOLANGE ZAEHLER > 0 | |
| LD | A,C | ;RESULTAT NACH A | |
| RET | |||
| END | |||
| FUER DIE KONVERTIERUNG MIT RUNDUNG FOLGT NACH DEM BEFEHL... DJNZ MA1-# | |||
| ADD | A | ;ZUSAETZLICHE BCD-ADD ZUM EVENTUELLEN | |
| DAA | ;AUFRUNDEN | ||
| LD | A,C | ;RESULTAT NACH A | |
| ADC | 00 | ;AUFRUNDEN | |
| RET | |||
| END | |||
Beispiel für eine kleine Anweisungstabelle in vollständiger Assembler-Codierung
|
zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost im Juni 2007 |
|
... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-) „Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“ Diddi Hallervorden, dt. Komiker und Kabarettist |