Emulator-Menü : Trace


Der im Emulator enthaltene Trace auf Quellebene ist ein wirksames Hilfsmittel, Assembler-Programme lauffähig und fehlerfrei zu machen.

Gleichzeitig dient er auch als Anschauungsmaterial, wie die Befehle des TR440 intern arbeiteten.

Im Trace wird jeder Befehl in einer Zeile dargestellt - falls möglich zusammen mit der Zeile, wie er in der Quelle stand (incl. Kommentaren etc.). Dazu werden alle Register protokolliert, die durch ihn verändert wurden.

Das kann wahlweise Befehl für Befehl im Einzelschritt am Bildschirm durchgeführt werden oder komplett als Dateitrace in eine Windows-Textdatei, die anschließend im Standard-Editor angesehen werden kann (Dateien im Unterverzeichnis  Trace  mit der Extension  .TRAC  ).

Was alles protokolliert werden soll, kann eingestellt werden. Diese Einstellungen betreffen sowohl das Tracen von laufenden Programmen als auch den TAS-Interpreter. Darüberhinaus gibt es auch noch einige Debug-Steuerungen, die keine Entsprechung im Menü haben. Das Zeichen davor kann jeweils auch während des schrittweisen Traces ohne Menü direkt eingegeben werden :

 

Als Zusatz-Steuerungen kann eingestellt werden :

Trace-Zeilen haben beispielhaft folgenden Aufbau:

Adresse  Befehl Quellzeile A-Register Q-Register D-Register H-Register B-register  Modifikator etc.  Takte
                   
17F2 DC0001  BAR 256, A=1 000000000100     H=2 000000000010      T=3
17F3 961611 R MCF H,         B=0010  mod1=0010  T=7
17F4 990030 SBA 30, A=1 0000000000D2    D=1 00000000002E        T=21
17F5 725B66 BQ ZUSTAND1,    Q=3 100005078000          T=11

 

Die folgenden Zusatz-Steuerungen betreffen Protokolle im SEBtrace-Fenster, nicht im Trace-Protokoll :

 

Steuerungen für den Datei-Trace :

 

Debug-Steuerungen ohne Menü-Punkt :

In der schrittweisen Programm-Überwachung (Trace) auf dem Bildschirm kann man beim Anhalten folgende Zeichen eingeben :

? Liste der möglichen Eingabezeichen zeigen
# Vorrang-Befehle anfordern
0 (Ziffer 0) Trace aus - weiter laufen ohne Trace
1 allen Trace einschalten
- Trace auf Bildschirm ausschalten - nur noch in Trace-Datei ausgeben
Return-Taste einen Befehl weitergehen
2 .. 9 zwei bis neun Befehle weiter springen mit Trace
R nächsten Befehl und alle Register zeigen
O (Buchstabe O) Step-Over : Trace ohne Unterprogramm-Aufruf-Trace
X Standard-Trace ein
. (Punkt) Wiederholung des letzten Break-Befehles
ESC-Taste sofortiger Abbruch des Programmlaufes
 
 

In der Debug-Phase gibt es Vorrang-Befehle, die im schrittweisen Trace mittels  #  angefordert werden. Die Vorrang-Befehle werden nach   Vorrang:   eingegeben :

? Liste der möglichen Vorrang-Befehle zeigen
Trace xxx Trace-Bedingungen setzen / löschen
Trace Liste der möglichen Trace-Bedingungen zeigen
Memory Speicherbelegung zeigen wie beim Menü Memory Aufbau zeigen
Disasm adr Speicher befehlsweise ab angegebener Adresse disassemblieren
Show adr Speicherinhalt ganzwortweise binär ab Adresse zeigen (bei ungerader Adresse halbwortweise)
Show X alle 256 Indexzellen binär anzeigen
Starte prog gemerktes / gespeichertes Programm im Vorrang starten (nur in der Grundstufe,
solange noch kein Kommando-Entschlüssler läuft, also noch kein #XBG da war)
Put adr,wert Halbwort-Wert auf Adresse speichern
Break adr Programm-Fortsetzung bis zu der Adresse
Break befehl   Programm-Fortsetzung bis zu dem Befehl
Break von:bis   Programm-Fortsetzung, Trace auf Adressbereich beschränken
Break Cadr Programm-Fortsetzung bis die Zelle mit der angegebenen Adresse ihren Inhalt ändert
REG alle Register zeigen
ESC-Taste zurück aus Vorrangstufe