Summieren einer Datenfolge ohne Übertrag |
![]() |
![]() |
Letztmalig dran rumgefummelt: 07.02.07 07:50:44 |
Aufgabe 10: Es ist die Summe einer Reihe von Daten zu berechnen, deren Anzahl auf dem Speicherplatz 2041H steht. Die Datenfolge beginnt ab Speicherplatz 2042H. Das Ergebnis ist auf dem Speicherplatz 2040H abzulegen. (Ein eventueller Übertrag ist nicht zu berücksichtigen.)!
Lösungsalgorithmus: Da Anzahl, Ergebnis sowie auch die vorgegebenen Werte selbst auf einer zusammenhängenden Tabelle liegen, werden Register A zur Summierung und Registerpaar HL zu deren Indizierung verwendet.
Anmerkungen zur Steuerung: keine Registerinhalte müssen gerettet werden
Marke | Adresse | Hex-Code | Assembler-Code | Kommentar |
ORG 2000H | ; ADRESSE PROGRAMMBEGINN | |||
BEGINN: | 2000H | 21 41 20 | LD HL,2041H | ; ADRESSE ANZAHL |
2003H | 46 | LD B,(HL) | ; ZÄHLER=ANZAHL D. ZAHLEN | |
2004H | 97 | SUB A | ; SUMME = 0 | |
SUM: | 2005H | 23 | INC HL | ; NÄCHSTE ADRESSE |
2006H | 86 | ADD A,(HL) | ; SUMME = SUMME + NEUE ZAHL | |
2007H | 10 FC | DJNZ SUM: | ; WDHLG., BIS ALLE ZAHLEN | |
2009H | 32 40 20 | LD (2040H),A | ; ERGEBNIS ABLEGEN | |
200CH | 76 | HALT | ||
EQUATE | ||||
2040H | ORG 2040H | ; ADRESSE DATEN | ||
2040H | XX | DEFS 1 0XXH | ; SPEICHERPLATZ FÜR ERGEBNIS FREIHALTEN | |
2041H | 03 | DEFB 003H | ; DEFB 03H |
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 |