LC-80 Count-Down-Programm |
![]() |
![]() |
Letztmalig dran rumgefummelt: 15.03.07 08:17:10 |
ist wahrscheinlich fehlerfrei und kann unbedenklich verwendet werden |
|
Eigene Aufgabe 5: Ein Abwärtszähler mit SOUND-Ausgabe ist zu programmieren und auf ca. 1-Sekunden-Intervall einzurichten! Die anzuzeigende Ziffer steht auf 02302H und wird von Bindestrichen flankiert.
Anmerkungen zur Steuerung: Register BC sowie HL muss vor dem Aufruf der Subroutine SOUND1K gerettet werden
Pseudocode zum Programm:
Zeile | Marke | Block | Adresse | Hex-Code | Assembler-Code | Kommentar |
0001 | ORG 2000H | |||||
0002 | M3: | 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 CA 04 | CALL 004CAH | ;CALL ONESEG-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: | SCRIBE | 2019H | CD 83 04 | CALL 00483H | ;CALL DAK2-Anzeigeprogrammaufrufen |
0015 | 201CH | 10 FB | DJNZ, M1 | ;Rücksprung zur Anzeige Adresse 2016H | ||
0016 | NEXT | 201EH | 0D | DEC C | ;C und damit die Anzahl herunterzählen | |
0017 | 201FH | 20 F8 | JPNZ M2: | ;Rücksprung auf 02009H zum Zahlen neu anzeigen | ||
0018 | 2021H | 18 DD | JPR M3: | ;RETURN 2000H | ||
0019 | 2023H | 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 |