Addieren von vier HEX-Zahlen mit Übertrag und Ablage des Ergebnisses auf einer Speicherzelle |
![]() |
![]() |
Letztmalig dran rumgefummelt: 09.06.09 07:11:38 |
Aufgabe 2: Ab Stelle 2300H als Anzeigedisplay ist der Anzeiger für das jeweilige Ergebnis der Addition!
Anmerkungen zur Steuerung: Register A sowie HL muss gerettet werden
Pseudocode zum Programm:
1.) Monitor-Musik wieder geben
2.) Anfangsinitialisierung
3.) Addition
4.) Start
5.) Pause anzeigen, bis Taste
Anzeigetabelle:
Zeile | Marke | Block | Adresse | Hex-Code | Assembler-Code | Kommentar |
0001 | ORG 2000H | |||||
0002 | INIT: | 2000H | 3A 01 21 | LD A,(2101H) | Lade A mit Adresse 2101H | |
0003 | 2003H | 47 | LD B,A | Inhalt von A in B schreiben | ||
0004 | 2004H | 3A 02 21 | LD A,(2102H) | Lade A mit Adresse 2102H | ||
0005 | 20087 | 80 | ADD B | Register A und B addieren Summe in A | ||
0006 | 2008H | 32 00 22 | LD (2200H),A | Schreibe Inhalt von A in auf Adresse 2200H | ||
0007 | 200BH | 3E 00 | LD A,00H | Lade Reg. A. mit 00 | ||
0008 | 200DH | 8F | ADC A | Lade Carry nach A | ||
0009 | 200EH | 32 01 22 | LD A,(2201H) | Lade A mit Adresse 2201H | ||
0010 | 2011H | 0E 00 | LD C,00H | Carry = 0 | ||
0011 | 2013H | 3A 00 22 | LD A,(2200H) | Lade A mit Adresse 2200H | ||
0012 | 2016H | 47 | LD B,A | Inhalt von A in B schreiben | ||
0013 | 2017H | 3A 03 21 | LD A,(2103H) | Lade A mit Adresse 2103H | ||
0014 | 201AH | 80 | ADD B | Register A und B addieren Summe in A | ||
0015 | 201BH | 32 00 22 | LD (2200H),A | Schreibe Inhalt von A in auf Adresse 2200H | ||
0016 | 201EH | 3E 00 | LD A, 00H | Lade Reg. A. mit 00 | ||
0017 | 2020H | 8F | ADC A | Lade Carry nach A | ||
0018 | 2021H | 47 | LD B, A | Inhalt von A in B schreiben | ||
0019 | 2022H | 3A 01 22 | LD A,(2201H) | Lade A mit Adresse 2201H | ||
0020 | 2025H | 80 | ADD B | Register A und B addieren Summe in A | ||
0021 | 2026H | 32 01 22 | LD (2201H),A | Lade A mit Adresse 2201H | ||
0022 | 2029H | 0E 00 | LD C,00H | Carry = 0 | ||
0023 | 202BH | 3A 00 22 | LD A,(2200H) | Lade A mit Adresse 2200H | ||
0024 | 202EH | 47 | LD B,A | Inhalt von A in B schreiben | ||
0025 | 202FH | 3A 04 21 | LD A,(2104H) | Lade A mit Adresse 2104H | ||
0026 | 2032H | 80 | ADD B | Register A und B addieren Summe in A | ||
0027 | 2033H | 32 00 22 | LD (2200H),A | Schreibe Inhalt von A in auf Adresse 2200H | ||
0028 | 2036H | 3E 00 | LD A,00H | Lade Reg. A. mit 00 | ||
0029 | 2038H | 8F | ADC A | Lade Carry nach A | ||
0030 | 2039H | 47 | LD B,A | Inhalt von A in B schreiben | ||
0031 | 203AH | 3A 01 22 | LD A,(2201H) | Lade A mit Adresse 2201H | ||
0032 | 203DH | 80 | ADD B | Register A und B addieren Summe in A | ||
0033 | 203EH | 32 01 22 | LD (2201H),A | Lade Carry nach A | ||
0034 | 2041H | 0E 00 | LD C,00H | Carry = 0 | ||
0035 | 2043H | 3A 00 22 | LD A,(2200H) | Lade A mit Adresse 2200H | ||
0036 | 2046H | 47 | LD B,A | Inhalt von A in B schreiben | ||
0037 | 2047H | 3A 05 21 | LD A,(2105H) | Lade A mit Adresse 2105H | ||
0038 | 2048H | 80 | ADD B | Register A und B addieren Summe in A | ||
0039 | 2049H | 32 00 22 | LD (2200H),A | Schreibe Inhalt von A in auf Adresse 2200H | ||
0040 | 204CH | 3E 00 | LD A,00H | Lade Reg. A. mit 00 | ||
0041 | 204EH | 8F | ADC A | Lade Carry nach A | ||
0042 | 204FH | 47 | LD B,A | Inhalt von A in B schreiben | ||
0043 | 2050H | 3A 01 22 | LD A,(2201H) | Lade A mit Adresse 2201H | ||
0044 | 2053H | 80 | ADD B | Register A und B addieren Summe in A | ||
0045 | 2054H | 32 01 22 | LD (2201H),A | Schreibe Inhalt von A in auf Adresse 2201H | ||
0046 | 2057H | 0E 00 | LD C,00H | Carry = 0 | ||
0047 | 2059H | 3A 00 22 | LD A,(2200H) | Lade A mit Adresse 2200H | ||
0048 | 205CH | 47 | LD B,A | Inhalt von A in B schreiben | ||
0049 | 205DH | 3A 06 21 | LD A (2106H) | Lade A mit Adresse 2106H | ||
0050 | 2060H | 80 | ADD B | Register A und B addieren Summe in A | ||
0051 | 2061H | 32 00 22 | LD (2200H),A | Schreibe Inhalt von A in auf Adresse 2200H | ||
0052 | 2064H | 3E 00 | LD A,00H | Lade Reg. A. mit 00 | ||
0053 | 2066H | 8F | ADC A | Lade Carry nach A | ||
0054 | 2067H | 47 | LD B,A | Inhalt von A in B schreiben | ||
0055 | 2068H | 3A 01 22 | LD A,(2201H) | Lade A mit Adresse 2201H | ||
0056 | 206BH | 80 | ADD B | Register A und B addieren Summe in A | ||
0057 | 206CH | 32 01 22 | LD (2201H),A | Schreibe Inhalt von A in auf Adresse 2201H | ||
0058 | 2074H | 76 | HALT | Stopp Programmlauf | ||
2101H | erste Zahl | |||||
2102H | zweite Zahl | |||||
2103H | dritte Zahl | |||||
2104H | vierte Zahl | |||||
2105H | fünfte Zahl | |||||
2106H | sechste Zahl | |||||
Beispiel für eine kleine Anweisungstabelle in vollständiger Mnemoic-Codierung
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost am Januar 20067. Juni 2009 |
... 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 |