| 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 |