Addieren von vier HEX-Zahlen ohne Übertrag und Ablage des Ergebnisses auf einer Speicherzelle |
![]() |
![]() |
Letztmalig dran rumgefummelt: 14.05.09 17:58:12 |
|
|
|||
Aufgabe 1: 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 |
ORG 2000H | ||||||
0001 | ANF: | MUSIC | 2000H | CD EA 04 | CALL 04EAH | ;CALL MONMUS-Ausgabe Anfangsmelodie |
0002 | INIT | 2003H | DD 21 00 23 | LD IX, 02300H | ;Anfangsadresse Textanzeige | |
0003 | 2007H | 21 10 00 | LD HL, 01000H | ;Registerpaar HL (Anfang Zahlentabelle) | ||
0004 | 200AH | 7E | LD A, M | ;erste Zahl in Register A holen | ||
0005 | 200BH | 06 03 | LD B, 03H | ;Anzahl der weiteren Zahlen | ||
0006 | 200DH | 23 | INC HL | ;nächste Zahl | ||
0007 | M1: | ADDIT | 200EH | 86 | ADD M | ;Register A retten |
0008 | 200FH | 10 FC | DJNZ :M1 | ;B decrementieren und relativer Sprung auf M1, wenn nicht Null | ||
0009 | 2011H | 32 40 20 | LD (02040H), A | ;Ergebnis auf RAM schreiben | ||
0010 | 2014H | CD CA 04 | CALL 00CAH | ;CALL ONESEG - Ergebnis in Sieben-Segment-Code konvertieren | ||
0011 | 2017H | 32 00 23 | LD (02300H), A | |||
0012 | 201AH | 06 FF | LD B, 0FFH | ;B mit Anzeigezeit laden | ||
0013 | M2: | DISPLAY | 201CH | C5 | PUSH BC | ;Registerpaar BC retten |
0014 | 201DH | CD 83 04 | CALL 0483H | ;CALL DAK2-Ausgabe Unterprogramm aufrufen | ||
0015 | 2020H | C1 | POP BC | ;Registerpaar BC wieder hergestellt | ||
0016 | 2021H | 10 F9 | DJNZ, M2 | ;B decrementieren und relativer Sprung auf M2, wenn nicht Null | ||
0017 | 2023H | C5 | PUSH BC | ;Registerpaar BC retten | ||
0018 | 2024H | 10 F6 | DJNZ, M2 | ;Rücksprung auf Adresse mit Index M2: | ||
0019 | 2026H | C3 00 20 | JP 02000H | ;RETURN ANF: | ||
0020 | 2029H | 76 | HALT | ;Fehlerprüfmarke - wird theoretisch nicht erreicht | ||
0021 | TABLE: | |||||
0022 | 2100H | 02 | DEFB 002H | |||
0023 | 2101H | 01 | DEFB 001H | |||
0024 | 2102H | 03 | DEFB 003H | |||
0025 | 2103H | 02 | DEFB 002H |
Beispiel für eine kleine Anweisungstabelle in vollständiger Mnemoic-Codierung
![]() 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 |