Assemblerprogramm zur Umwandlung einer gebrochenen BCD-Zahl in Binärcode history menue Letztmalig dran rumgefummelt: 27.06.07 17:21:53

ist wahrscheinlich fehlerfrei und kann unbedenklich verwendet werden

ZIP-Archiv mit allen benötigten Assmbler-Routinen

die beliebte alphabetisch sortierte Schnell-Liste

die beliebte numerisch sortierte Schnell-Liste

Allgemeine FLAG-Wirkung

FLAG-Wirkung auf OP-Code-Gruppen

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