Bestimmen der größeren zweier Hexadezimalzahlen |
![]() |
![]() |
Letztmalig dran rumgefummelt: 07.02.07 07:50:21 |
Aufgabe 4: Die größte der in 2040H und 2041H stehenden Zahlen ist zu bestimmen und auf dem Speicherplatz 2042H abzulegen. Die Zahlen sollen als vorzeichenlose BCD-Zahl vorliegen!
Lösungsalgorithmus: Durch entsprechende Sprungbefehle in Auswertung des CARRY-FLAGs wird der größere Inhalt ins Register A geschrieben bzw. steht er schon dort und wird anschließend auf den Speicherplatz entsprechend Aufgabenstellung geschrieben.
Anmerkungen zur Steuerung: es müssen keine Registerinhalte gerettet werden
Marke | Adresse | Hex-Code | Assembler-Code | Kommentar |
ORG 2000H | ;Adresse Programmbeginn | |||
2000H | 21 40 20 | LD HL, 2040H | ;Adresse erster Operand | |
2003H | 7E | LD A, (HL) | ;erster Operand in A | |
2004H | 23 | INC HL | ;Adresse zweiter Operand | |
2005H | BE | CP (HL) | ;Vergleich 1. mit 2. Operand | |
2006H | D2 0A 20 | JPNC, FERTIG | ;FERTIG, wenn 1. groesser | |
2009H | 7E | LD A, (HL) | ;zweiter Operand nach A | |
FERTIG: | 200AH | 23 | INC HL | ;Zieladresse |
200BH | 77 | LD (HL), A | ;groessere Zahl ablegen | |
200CH | 76 | HALT | ;Programm STOPP | |
EQUATE | ||||
2040H | ORG 2040H | ;DATEN Adresse | ||
2040H | 79 | DEFB 079H | ;erste Zahl | |
2041H | 5A | DEFB 05AH | ;zweite Zahl |
Beispiel für eine kleine Anweisungstabelle in vollständiger Mnemoic-Codierung
Durch den COMPARE-Befehl, welcher die FLAGs beeinflusst, können die folgenden Vergleichsoperationen durchgeführt werden, wobei ‚A’ den Inhalt des Akkumulators und ‚X’ den Vergleichsoperanden darstellt.
gleich | X | ist Z = 1 | (Z entspricht ZERO-FLAG) | |
A | ungleich | X | ist Z = 0 | (Z entspricht ZERO-FLAG) |
A | kleiner | X | ist CY = 1 | (CY entspricht CARRY-FLAG) |
A | größer, gleich | X | ist CY = 0 | (C entspricht CARRY-FLAG |
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost im Januar 2006 |
... 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 |