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

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 1: Umwandlung einer ganzen BCD-Zahl (4 Stellen ohne Vorzeichen) in eine Dualzahl
Eingangsparameter: BCD-Zahl in HL
Ausgangsparameter: DUAL-Zahl in HL
Verfahren:
Schreibt man die Dezimalzahl mit den Ziffern d3 d2 d1 d0 in der Form

b = d3 · 103 + d2 · 102 + d1 · 10 + d0 = (((0 · 10 + d3) · 10 + d2) · 10 + d1) · 10 + d0

so erkennt man folgenden Algorithmus:

Dabei ist mit der höchstwertigen Ziffer (d3) zu beginnen. Vor dem Abarbeiten des Algorithmus sind die Ziffern zu trennen.

 

Marke Operation Operand Kommentar
  PN A1  
;UMWANDLUNG BCD-DUAL
;UMWANDLUNG EINER INTEGER BCD-ZAHL (4 STELLEN UNSIGNIERT)
;IN EINE DUALZAHL (16 BIT)
       
DBI2: PUSH HL  
  LD HL,0  
  ADD HL,SP  
  XOR A ;ABLEGEN DER ZIFFERN D3, D2, D1, D0
  RRD   ;IN DEN STACK
  PUSH AF ;ZIFFER Dl IN DEN STACK
  INC HL  
  RRD    
  PUSH AF ;ZIFFER Dl IN DEN STACK
  RRD    
  PUSH AF ;ZIFFER,D2 IN DEN STACK
  RRD    
  PUSH AF ;ZIFFER D3 AUF DEN STACK
;ALGORITHMUS      
  LD HL,0 ;B=0
  LD B,4 ;ZAEHLER = 4
ZYK: LD E,L  
  LD D,H  
  ADD HL,HL ;MULTIPLIKATION MIT 10
  ADD HL,HL  
  ADD HL,DE  
  ADD HL,HL  
  POP DE ;ZIFFER HOLEN
  LD E,L  
  LD D,0  
  ADD HL,DE ;ZIFFER ADDIEREN
  DJNZ ZYK-#  
  POP DE  
  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