Summieren einer Datenfolge ohne Übertrag |
![]() |
![]() |
Letztmalig dran rumgefummelt: 09.02.16 19:23:02 |
Aufgabe 10: Das Programm DAK2 steuert die Anzeige für die Dauer von rund 10 ms an. Der Text 'HELPUS' soll alle 0,5 Sekunden für 0,5 Sekunden aufleuchten. Zur Änderung der Anzeigezeit ist der Wert auf dem Speicherplatz 200BH zu ändern, der die Anzahl der Schleifen zum Aufruf von DAK2 vorgibt und damit die Zeit bestimmt. Die Änderung des Anzeigetextes ist auf den Speicherplätzen 2026H – 202BH möglich.
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 |
2022 4F DEFB 4FH ; "R" 2032 C2 DEFB OC2H ; "L" 2024 CE DEFB OCEH ; "E" 2025 6B DEFB 6BH 2026 00 BLANK:DEFB 0 2027 00 DEFB 0 |
||||
ORG 2000H | ; ADRESSE PROGRAMMBEGINN | |||
EX2: | 2000H | 21 26 20 | LD HL, BLANK | ; "LEERZEICHEN" |
2003 | E5 | PUSH HL | ||
2004 | DD 21 20 20 | LD IX,HELP | ; TEXT "HELPUS" | |
LOOP: | 2008 | DD E3 | EX (SP),IX | ; AUSTAUSCH TEXT |
200A | 06 32 | LD B,32H | ; ANZEIGEZEIT | |
LOOP1: | 200C | CD 83 04 | CALL DAK2 | ; ANZEIGE |
200F | 10 FB | DJNZ LOOP1: | ||
2011 | 18 F5 | JR LOOP: | ||
EQUATE | ||||
2020H | ORG 2020H | ; ADRESSE AZEIGEDATEN | ||
2020H | AE | DEFB 0AEH | ; "S" | |
2021H | E3 | DEFB OE3H | ; "U" | |
Beispiel für eine kleine Anweisungstabelle in vollständiger Mnemoic-Codierung
Projekt als A-Side Assembler Datei (Achtung - das Projekt ist am 9.2.2016 noch nicht vorhanden)
![]() 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 |