TIM

Aus C64-Wiki
Zur Navigation springenZur Suche springen
TIM im PET (80-Zeichen-Darstellung).

Der im PET der CBM-Serie 20xx/30xx/40xx/80xx und im CBM 500/600/700-PCs integrierte Maschinensprachemonitor TIM (englische Abkürzung für Terminal Interface Monitor) wird wie folgt aufgerufen:

  • SYS 4 (Ursprünglicher Aufruf bei PETs)
  • SYS 1024
  • SYS 64785 Nur bei CBM-Serie 20xx/30xx
  • SYS 54386 Nur bei CBM-Serie 40xx/80xx
  • SYS 60950 Nur bei CBM-II-Modellen (CBM500/600/700-Serien)
  • Reset Nur beim KIM-1

Für die erste Generation der PETs existiert TIM als Software und kann in den Speicher geladen werden.

Ebenso wird der Monitor mit dem BRK-Opcode über den BREAK-Vektor aufgerufen, was bei der Registeranzeige mit einem vorangehenden BREAK oder in älteren Versionen B* angezeigt wird. Dies kann zum einen als Einstieg von BASIC aus via SYS-Befehl (auf eine beliebige Adresse die 0 enthält) oder zum anderen für Debugging-Zwecke verwendet werden. Der Monitor sieht keine besonderen Befehle für Haltepunkte oder schrittweise Befehlsabarbeitung vor. Dies muss gegebenenfalls mit dem temporären Setzen eines BRK-Opcodes (0-Byte) manuell erfolgen.


Registerzeile[Bearbeiten | Quelltext bearbeiten]

Nach dem Aufruf meldet er sich z.B. mit folgender Meldung:

    PC   IRQ  SR AC XR YR SP
 .; 0401 e455 32 04 5e 00 f0


Die Anzeigen, auch hier Registerzeile genannt, bedeuten dabei folgendes:

Alle Zahlen werden in hexadezimaler Form angezeigt.

Maschinensprachemonitor-Befehle[Bearbeiten | Quelltext bearbeiten]

TIM in der CBM-II Serie (80-Zeichen-Darstellung).

Folgende Befehle stehen bei dem eingebauten Maschinensprachemonitor zur Verfügung:

  • G : Programm ausführen durch Sprung (engl. Go) zur angegebenen Speicheradresse
    • G <Speicheradresse>
  • L : Lädt (engl. Load) ein Programm oder Daten in den Speicher (RAM)
  • M : Anzeigen eines Speicherinhalts (engl. Memory display)
    • M <Anfangsadresse>,[<Endadresse>]
    • Mit den Cursor-Tasten können die die Ausgabezeilen geändert werden, wobei das am Zeilenanfang befindliche ":"-Zeichen dem Schreiben in den Speicher entspricht.
  • R : Anzeigen der Registerzeile (engl. Register display)
  • S : Speichert (engl. Save) einen Speicherbereich auf Datasette oder Diskette ab
    • S "Dateiname",<Geräteadresse (00-1F)>,<Anfangsadresse>,<Endadresse+1>
  • X : Beendet (engl. eXit) TIM und man gelangt wieder in den BASIC-Direktmodus
  • : : Schreibt an die angegebene Adresse die folgenden Bytes
    • : <Anfangsadresse>,<Wert>,<Wert>,...
  • ;: Schreibt die folgenden Werte (so wie vom R-Befehl angezeigt) in die entsprechenden Register.
  • @ : Floppystatus abfragen (eventuell nicht in allen Versionen verfügbar, vorhanden, wie etwa bei PET oder CBM-II-Modellen)

Alle Zahlen und Adressen sind in hexadezimaler Form anzugeben.

Es wird als Prompt das Zeichen "." angezeigt.
Bei einer falschen Eingabe (unbekannter Befehl) wird ein Fragezeichen ? ausgegeben. Ein-/Ausgabefehler werden mit I/O ERROR #Nummer angezeigt.

Mit der Taste RUN/STOP  können Operationen abgebrochen werden!

Adressangaben bei Rechnern mit Bankswitching der CBM-II-Modelle beziehen sich auf Bank 15 (System-Bank) und können über die direkte Manipulation von Port $01 (=Banknummer für Datenzugriffe) in die gewünschte Bank gelenkt werden. Die Ausführung von Maschinencode ist aber immer nur in Bank 15 möglich, da sonst der Monitor ausgeblendet wird und das System abstürzen würde.