Assemblerprogramm zur Umwandlung einer 16-Bit-Dualzahl Zahl in eine gebrochene BCD-Zahl |
![]() |
![]() |
Letztmalig dran rumgefummelt: 09.06.07 20:44:11 |
ist wahrscheinlich fehlerfrei und kann unbedenklich verwendet werden |
|
Beispiel
5:
Umwandlung einer echt gebrochenen Dualzahl mit 16 Bit ohne Vorzeichen in eine
BCD-Zahl mit 4 Stellen.
Eingangsparameter: Dualzahl in HL
Ausgangsparameter: BCD-Zahl in HL
Das Programm läuft nach dem gleichen Verfahren wie Beispiel 4, nur wird der Zähler am Anfang auf 4 gestellt.
Marke | Operation | Operand | Kommentar |
PN | A5 | ||
;UMWANDLUNG DUAL NACH BCD | |||
;16 BIT DUALZAHL UNSIGNIERT ERGIBT 4-STELLIGE BCD-ZAHL (ECHT GEBROCHEN) | |||
;DEZIMALZAHL UND DUALZAHL IN A | |||
;DUALZAHL IN HL | |||
;BCD-ZAHL IN HL | |||
;SONDERFALL: HL = 0000H, CY = 1 BEDEUTET, DASS DAS GERUNDETE | |||
;BCD-RESULTAT (1,)0000BCD BETRAEGT. SONST CY = 0 | |||
BDE2: | LD | B,04H | ;ZAEHLER = 4 |
XOR | A | ||
ZYK: | SL | A | |
RL | C | ||
LD | E,L | ||
LD | D,H | ||
ADD | HL,HL | ||
RLA | |||
RL | C | ||
ADD | HL,HL | ||
RLA | |||
RL | C | ||
ADD | HL,DE | ||
ADC | 00H | ||
ADD | HL,HL | ||
RLA | |||
RL | C | ||
DJNZ | ZYK-# | ||
ADD | HL,HL | ||
ADC | 00H | ||
DAA | |||
LD | L,A | ||
LD | A,C | ||
ADC 00H | |||
DAA | |||
LD | H,A | ||
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 |