Die LC-80 Subroutinen - Anwendungsbeschreibung |
![]() |
![]() |
Letztmalig dran rumgefummelt: 10.04.21 15:26:55 |
![]() |
Hier beschreiben wir die Monitor-Programme des LC-80
sowie seine permanent angewandten Subroutinen eigentlich sowie im Zusammenhang
grundsätzlich funktionieren. Wir liefern die "Grund-Idee", die Randbetrachtungen
- die Parameter nach hinein, sowie heraus. Für die Testprogramme ab dem 17.6.2020 gilt, dass sie noch überarbeitungsbedürftig sind - es wird ja der Versuch der Erklärung unternommen - und dies für ein extrem komplexes Thema der Informatik! |
||||||||
![]() |
0. Subroutinen - wie funktioniert
das? 1. DAK1 2. DAK2 3. ONESEG 4. TWOSEG 5. ADRSDP 6. DADP 7. RAMCHK 8. SOUND 9. SOUND1K 10. SOUND2K 11. MUSIC 12. MONMUS 13. Verwandte Themen |
||||||||
![]() |
|
0. Subroutinen & Zyklen - wie funktioniert das? |
![]() |
![]() |
![]() |
![]() |
Das Problem ist in sich äußerst
komplex - das Gute daran ist: ... man muss das anfangs gar nicht alles
intern wirklich und ganz genau verstehen. Das Problem "Subroutine oder
Unterprgramm" kann man wie eine Black-Box betrachten: ... was darin
wirklich passiert, ist erst einmal egal - ich muss nur wissen, was muss
rein und was kommt raus (Beispiel Otto-Motor: ... ich muss nicht wissen,
wie der Motor funktioniert, gebe ich Gas, fährt das Fahrzeug schneller -
fertig!!!). Gerne auch das Internet: ich rufe eine Website auf - was zum
Aufruf alles getan werden muss, interessiert vorerst nicht - ich bekomme
die Seite angezeigt. |
||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||
![]() |
|
1. DAK1 |
![]() |
![]() |
![]() |
![]() |
Ansteuerung der Anzeige sowie der Tastatur - Hauptanwendung ist die Anzeigesteuerung bis eine Taste gedrückt wurde. Tastatur sowie alle 6 LED-Anzeigen werden nacheinander angesteuert - anstelle des Tastaturcodes wird der interne Code geliefert, wie er von anderen Teilen des Monitorprogramms benötigt wird. |
||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||
![]() |
2. DAK2 |
![]() |
![]() |
![]() |
![]() |
Ansteuerung der Anzeige und
Tastatur für 10 ms, Hauptanwendung ist die Anzeigesteuerung bis eine Taste
gedrückt wurde. Alle 6 LED-Anzeigen werden nacheinander angesteuert -
anstelle des internen Tastaturcodes wird der Code geliefert, wie er von
Anwenderprogrammen benötigt wird. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
3. ONESEG |
![]() |
![]() |
![]() |
![]() |
Umwandlung einer Ziffer (die rechten 4 Bits eines Bytes) in den entsprechenden Sieben-Segment-Code, die rechten 4 Bit des A-Registers sind die umzuwandelnde HEX-Zahl - die höherwertige Tetrade bleibt bei der Operation unbehelligt. Das Ergebnis steht in Register A. |
||||||||||||
![]() |
|
||||||||||||
![]() |
|
4. TWOSEG |
![]() |
![]() |
![]() |
![]() |
Umwandlung des Inhalts des A-Registers in den entsprechenden Sieben-Segment-Code - die untere Tetrade von A als erste Ziffer, die obere Tetrade von A als zweite Ziffer. Die beiden Ergebnisse stehen auf durch HL indizierten Speicherplatz |
||||||||||||
![]() |
|
||||||||||||
![]() |
|
5. ADRSDP |
![]() |
![]() |
![]() |
![]() |
Eintragen von 4 Ziffern in den Adressanzeigespeicher - Anzeigebereich sind die Adressen 23F4H bis 23F7H |
||||||||||||
![]() |
|
||||||||||||
![]() |
|
6. DADP |
![]() |
![]() |
![]() |
![]() |
Eintragen von 2 Ziffern in den Datenanzeigespeicher - Anzeigebereich sind die Adressen 23F2H und23F3H |
||||||||||||
![]() |
|
||||||||||||
![]() |
|
7. RAMCHK |
![]() |
![]() |
![]() |
![]() |
Test, ob ein Speicherplatz im RAM liegt - dieses Programm muss geändert werden, wenn der Speicherplatz oberhalb 3000H genutzt werden soll ;-) |
||||||||||||
![]() |
|
||||||||||||
![]() |
|
8. SOUND |
![]() |
![]() |
![]() |
![]() |
Tonsignal für Lautsprecher - Ausgabe eines Tones definierter Länge und Frequenz |
||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||
![]() |
|
9. SOUND1K |
![]() |
![]() |
![]() |
![]() |
1 kHz-Tonsignal für Lautsprecher - HL gibt die Anzahl der Takte an (Höchstwert 32768D das sind HEX 7FFFH) |
![]() |
10. SOUND2K |
![]() |
![]() |
![]() |
![]() |
2 kHz-Tonsignal für Lautsprecher - HL gibt die Anzahl der Takte an (Höchstwert 32768D das sind HEX 7FFFH) |
![]() |
11. MUSIC |
![]() |
![]() |
![]() |
![]() |
Abspielen einer Tonfolge - Das
Register IY zeigt auf den Anfang den Speicherbereiches in dem die
codierten Noten stehen. Jeweils 2 Byte repräsentieren eine Note. Das erste
Byte gibt die Tonhöhe, das zweite Byte die Tonlänge an |
|||||||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||||||
![]() |
|
12. MONMUS |
![]() |
![]() |
![]() |
![]() |
|
|||||||||||||||||||||||||||
![]() |
|
|||||||||||||||||||||||||||
![]() |
13. Verwandte Themen |
![]() |
![]() |
![]() |
![]() |
Hier gibt es Querverweise vor allem zu bereits vorab gelösten Programmierungsproblemen der einzelnen Schuljahre bis ins Schuljahr 2005 zurück, welche mittels LC-80 zu lösen waren. Der LC-80 ist zwar alt, aber immer noch hoch aktuell - heutige Prozessoren funktionieren bis ins Detail prinzipiell genau so, wie der Z80, welcher im Lern-Computer LC-80 als Hauptprozessor installiert ist. Moderen Prozessoren haben 64 Bit Verarbeitungsbreite (Z80 nur 98 Bit), sie arbeiten mit Taktfrequenzen bis 8 Giga-Hertz (LC-80 |
||||||||||||||||||||
![]() |
|
![]() zur Hauptseite |
© Samuel-von-Pufendorf-Gymnasium Flöha | © Frank Rost am 15. Juni 2002 um 9.49 Uhr |
... 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 |