LC-80-Monitor history menue Letztmalig dran rumgefummelt: 29.06.20 09:38:57

Der LC-80 ist neben dem POLY-Computer  wahrscheinlich der einzige und beste Rechner, um die Hardware auch eines modernen Rechnersystems verstehen zu lernen. Er gewährt einen Einblick in die Arbeitsweise des Z80-Prozessors sowie seiner Komponenten und eröffnet beim Studium seines Betriebssystems "neue Welten". Dies ist die Welt der Maschinensprache - bezogen auf den Z80 - kein Zuckerlecken - dies auch für erfahrene Programmierer. Der LC-80 bietet neben dem POLYCOMPUTER einiges mehr an Features - der POLYCOMPUTER ist steuerungstechnisch noch sauberer aufgebaut - beides ein Kompromiss.

die Elektronikseiten

LC-80-Monitor - das Logo

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Wissen für Fortgeschrittene der Informatik

Informatik-Profi-Wissen

  1. Tastenbeschreibung und Funktionsauswahl
  2. Monitor und Fehlersuche
  3. Standard-Unterprogramme

1. Tastenbeschreibung und Funktionsauswahl history menue scroll up

1. Tastenbeschreibung und Funktionsauswahl history menue scroll up

Von entscheidender Bedeutung zum Programmieren sind sowohl die Programm-Nachverfolgungsfunktionen (Registeranzeige sowie Step) aber auch die Tastencodes, welche bei Nutzung der Standardsubroutinen eingesetzt werden müssen.

... vollständig fehlerfrei und editierbar nach Johannes Uhlig Stand 2008

Übersicht über alle Subroutinen

Einsprung zur Registeranzeige:

Startadresse für EPROM 2716: 0690H

Startadresse für ROM U505: 0A90H

Marke Adresse Hex-Code Assembler-Code Kommentar
LC80NMI: 2340H C3, 90, 07 JP 0790H ;Unbedingter Sprung zur Adresse 0790H
;Sprung zum Unterprogramm Registeranzeige via NMI

Einsprung zum Einzelschrittbetrieb:

Startadresse für EPROM 2716: 0790H

Startadresse für ROM U505: 0B90H

Marke Adresse Hex-Code Assembler-Code Kommentar
LC80NMI: 2340H C3, 90, 06 JP 0690H ;Unbedingter Sprung zu Adresse 0690H
;Einstellung der Startadresse des abzuarbeitenden Programmes
;Sprung zum Unterprogramm Schrittbetrieb via NMI

Begrüßungsmonitor des LC-80

LC-80 Tastatur-Block

Taste Bezeichnung Funktion
RES RESET Unterbricht die Programmausführung und bringt den Rechner in den Ausgangszustand zurück
STR STORE Funktion zum Speichern von Programmen und Daten auf Magnetband (dabei wird ein Programmname mit auf Magnetband gespeichert)
LD LOAD Funktion zum Laden von Programmen und Daten von Magnetband
EX EXECUTE Start eines Programmes oder Befehls
NMI NON MASCABLE INTERRUPT (nicht sperrbare Unterbrechung) Auslösen eines NMI an die CPU (RESTART 66H) und Ausführung eines Programms, welches ab Adresse 2340H stehen muss
ADR ADRESS Adress-Eingabe-Taste
DAT DATA Daten-Eingabe-Taste
- LAST

Übergang zum vorherigen Schritt

+ NEXT

Übergang zum nächsten Schritt

LC-80 Tastatur-Funktionen

LC-80 Adress-Eingabe

LC-80 Daten-Eingabe


2. LC80 Monitor und Fehlersuche history menue scroll up

Treten bei der Programmabarbeitung Fehler auf oder erscheinen Ergebnisse falsch, so kann durch die Verwendung des HALT-Befehles das Testen des Programms wesentlich erleichtert werden. Die HALT-LED des LC 80 leuchtet auf, sobald die CPU einen HALT-Befehl abgearbeitet hat. Sie verlöscht erst wieder, wenn die Reset-Taste betätigt oder ein Interrupt angenommen wird. Wenn der HALT-Befehl auf das erste Byte eines Befehls geschrieben wird, zeigt nach dem Programmstart das Aufleuchten der LED an, dass das Programm bis zu dieser Adresse abgearbeitet wurde.
Unter Benutzung der Funktion "Registeranzeige" können in diesem Fall nach Betätigung von NMI die Registerinhalte mit den theoretischen Sollwerten verglichen werden und auf diese Weise schnell logische Programmfehler ermittelt werden.
Durch das Setzen des HALT-Defehls an andere Stellen können Sie somit Programmteile, die bei der Abarbeitung nicht erreicht werden, ermitteln. Beachten Sie bitte, den HALT-Befehl nach erfolgtem Test wieder durch den richtigen Befehlscode zu ersetzen. Sind Sie aufgrund des erforderlichen Speicherumfanges für Ihr Anwenderprogramm nicht gezwungen so effektiv wie möglich zu programmieren, so empfiehlt sich folgende Methode:

Programmtest und Fehlersuche

  • fügen Sie nach eigenem Ermessen in bestimmten Abständen HALT-Befehle ein (z.B. unmittelbar vor Verzweigungsentscheidungen, zu Beginn einzelner Unterprogramme, unmittelbar nach IN-Befehlen usw.)
  • vor dem Start Ihres Anwenderprogrammes bereiten Sie den LC 80 gemäß Abschnitt "Registeranzeige" vor und starten danach ihr Programm. Wird jetzt ein HALT-Befehl durch die CPU abgearbeitet und leuchtet die HALT-LED, so können Sie, wie oben 
    dargelegt, die Registerinhalte überprüfen
  • im Gegensatz zu dem zuerst erwähnten Einfügen eines HALT-Befehls anstelle des ersten Bytes eines beliebig anderen Befehles, arbeitet Ihr LC 80 jetzt nach Betätigung von ADR die nachfolgenden Befehle ab
  • so können Sie Ihr gesamtes Programm abschnittweise kontrollieren und nacheinander abarbeiten lassen
  • ist Ihr Programm voll funktionsfähig, ersetzen Sie die eingefügten HALT-Befehle einfach durch NOP-Operationen
RESTART 38 nutzen
Step-Funktiona nutzen

3. LC80 System-Subroutinen history menue scroll up

Bewundernswert ist für Insider schon, auf wie wenigen Bytes, wie sie der LC-80 ROM zur Verfügung stellen konnte, ein so komplexes Paket an kleinen Helferlein unterbracht werden konnte. Geschickt werden die Subroutinen zum Management der Gesdamtelektronik des rechners genutzt, sind aber auch o implementiert, dass sie für den User maximale Freiheitsgrade schaffen. Hier nun die Übersicht:

Übersicht - fehlerfrei!!! (2018) Übersicht mit kleinen Mängeln (werden per 2018 systematisch eleminiert!)

Übersicht über alle Subroutinen

die LC-80 Subroutinen

  • DAK2 - einmalige Ansteuerung der Anzeige (ca. 10 Millisekunden)  und Tastatur, Hauptanwendung ist die Anzeigesteuerung
  • DAK1 - Ansteuerung der Anzeige und Tastatur, bis eine Taste gedrückt wurde, Hauptanwendung ist die Anzeigesteuerung und Tastaturbedienung
  • ONESEG - Umwandlung einer Ziffer (4 Bits eines Bytes) in den entsprechenden Sieben-Segment-Code
  • TWOSEG - Umwandlung von zwei Ziffern (ein Bytes) in den entsprechenden Sieben-Segment-Code
  • ADRSDP - Eintragen von 4 Ziffern in den Adressanzeigespeicher
  • DADP - Eintragen von 2 Ziffern in den Datenanzeigespeicher
  • RAMCHK - Test, ob ein Speicherplatz im RAM liegt
  • SOUND - Ausgabe eines Tonsignales
  • SOUND1K - Ton mit 1 kHz Frequenz
  • SOUND2K - Ton mit 2 kHz Frequenz
  • MUSIC - Spielen einer definierten Tonfolge
  • MONMUS - Spielen der Anfangsmelodie
reservierte Adress-Bereiche Funktion Bemerkung
23F2H - 23F7H Index auf die standardmäßig verwendete Anzeige kann nicht direkt beschrieben werden
23EAH STACK-Pointer ab hier wächst der Stack nach unten!!!
2340H NMI-Einsprungadresse diese darf nicht durch den STACK überschrieben werden
LD LOAD Funktion zum Laden von Programmen und Daten von Magnetband
EX EXECUTE Start eines Programmes oder Befehls
NMI NON MASCABLE INTERRUPT (nicht sperrbare Unterbrechung) Auslösen eines NMI an die CPU (RESTART 66H) und Ausführung eines Programms, welches ab Adresse 2340H stehen muss
ADR ADRESS Adress-Eingabe-Taste
DAT DATA Daten-Eingabe-Taste
- LAST

Übergang zum vorherigen Schritt

+ NEXT

Übergang zum nächsten Schritt



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost im Juli 2004

... 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