LC-80 Count-Down-Programm |
![]() |
![]() |
Letztmalig dran rumgefummelt: 05.12.13 18:02:51 |
|
||||||||
... und so weit sind wir 2012 mit Mischi Krasselt gekommen ;-) |
||||||||
Eigene Aufgabe 5a: Ein Abwärtszähler mit SOUND-Ausgabe ist zu programmieren und auf ca. 1-Sekunden-Intervall einzurichten! Die anzuzeigende zweistellige Zahl einschließlich der Null steht auf 02302H sowie 02303 und wird von Bindestrichen flankiert. Nach Durchlauf von "ZERO" startet unsere Rakete zur Mission "X".
Anmerkungen zur Steuerung: Register BC sowie HL muss vor dem Aufruf der Subroutine SOUND1K gerettet werden
Projekt als A-Side Assembler Datei
Pseudocode zum Programm:
Zeile | Marke | Block | Adresse | Hex-Code | Assembler-Code | Kommentar |
0001 | ORG 2000H | |||||
0002 | ANF: | INIT | 2000H | DD 21 00 23 | LD IX, 02300H | ;Indexregister IX mit Adresse Anzeigespeicher |
0003 | 2004H | 0E 09 | LD C, 009H | ;Register C mit Anzahl der Ziffern - hier 9 | ||
0004 | 2006H | 21 10 00 | LD HL, 0010H | ;Registerpaar HL verweist auf die Tonlänge | ||
0005 | M2: | 2009H | C5 | PUSH BC | ;Registerpaar BC retten | |
0006 | 200AH | E5 | PUSH HL | ;Registerpaar HL retten | ||
0007 | 200BH | CD 76 03 | CALL 00376H | ;CALL SOUND1K-Ausgabe Unterprogramm aufrufen | ||
0008 | 200EH | E1 | POP HL | ;Registerpaar HL wieder hergestellt | ||
0009 | 200FH | C1 | POP BC | ;Registerpaar BC wieder hergestellt | ||
0010 | 2010H | 79 | LD A, C | ;neue Zahl zur Konvertierung in Regsiter A | ||
0011 | 2011H | CD D9 04 | CALL 004CAH | ;CALL TWOSEG-Anzeigekonvertierung aufrufen | ||
0012 | 2014H | 32 02 23 | LD (02302H), A | ;Zeichencode auf Anzeige ablegen | ||
0013 | 2017H | 06 64 | LD B, 064H | ;Anzeigezeit für 100 ms im Register B | ||
0014 | M1: | 2019H | CD 83 04 | CALL 00483H | ;CALL DAK2-Anzeigeprogrammaufrufen | |
0015 | 201CH | 10 FB | DJNZ, M1 | ;Rücksprung zur Anzeige Adresse 2016H | ||
0016 | 201EH | 0D | DEC C | ;C und damit die Anzahl herunterzählen | ||
0017 | 201FH | C2 09 20 | JPNZ 02009H | ;Rücksprung zum Zahlen neu anzeigen | ||
0018 | 2022H | C3 00 20 | JP 2000H | ;RETURN ANF | ||
0019 | 2025H | 76 | HALT | ;wird nicht erreicht | ||
0020 | TABLE: | |||||
0021 | 2300H | ORG 2040H | ;Datenadresse organisieren | |||
0022 | 2300H | 00 | DEFB 000H | ;Datenanzeigespeicher " " eintragen | ||
0023 | 2301H | 08 | DEFB 008H | ;Datenanzeigespeicher "-" eintragen | ||
0024 | 2302H | 00 | DEFB 000H | ;Datenanzeigespeicher " " eintragen | ||
0025 | 2303H | 08 | DEFB 008H | ;Datenanzeigespeicher "-" eintragen | ||
0026 | 2304H | 00 | DEFB 000H | ;Datenanzeigespeicher " " eintragen | ||
0027 | 2305H | 00 | DEFB 000H | ;Datenanzeigespeicher " " eintragen |
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 |