SID-Befehl
Format:
Zweck:
Mit dem SID
(Symbolic Instruction Debugger) kann man Programme, die für den Prozessor 8080 entwickelt sind, anzeigen und austesten. SID
unterstützt Echtzeit-Unterbrechungspunkte, schrittweise Programmabarbeitung mit Ablaufanzeige, symbolische Disassemblierung, Assemblierung, Anzeige und Veränderungen von Speicherinhalten.
SID
ohne Angabe einer Dateibezeichnung lädt nur sich selbst in den Speicher. Dann können Speicherinhalte angezeigt oder einfache Programme mit dem A-Befehl geschrieben werden. Ohne ein ablauffähiges Programm im Speicher können die SID
-Befehle G
, T
oder U
nicht ausgeführt werden.
SID
mit Angabe einer Dateibezeichnung lädt beides, sich selbst und die angegebene Datei, in den Speicher. Wird nur der Dateiname ohne Typenbezeichnung angegeben, simmt SID
den Typ COM
als Vorgabe. Mit den Befehlen C
, G
, T
oder U
kann das geladene Programm unter Kontrolle vom SID
abgearbeitet werden.
Mit CTRL-S wird die Bildschirmausgabe angehalten, mit CTRL-Q wieder gestartet. Abgebrochen wird die Ausgabe durch das Drücken einer beliebigen Taste.
Mit CTRL-C wird der SID
-Programmablauf unterbrochen und zurück in CP/M gesprungen.
Ausführliche SID
-Beschreibung finden Sie im SID-Handbuch von Digital Research.
Befehl | Format | Bedeutung |
---|---|---|
Assemble | As | Assembler-Befehl eingeben, s ist die Startadresse. |
Call | Cs {b{,d}} | Sprung auf die Adresse s, b ist der Wert im Registerpaar BC und d der Wert im Registerpaar DE. |
Display | D{W}{s}[,f} | Speicherinhalt in HEX und ASCII anzeigen. Mit W kann das 16-Bit-Wortformat angegeben werden, s ist die Startadresse und f die Endadresse. |
Load | Edateispez {,sym-dateispez} | Ein Programm und Symboltabelle zuladen. |
Load | E* sym-dateispez | Symbolische Tabelle zuladen. |
Fill | Fs,f,d | Speicher mit einem Wert füllen, s ist die Startadresse, f die Endadresse und d ein 8-Bit-Wert zum Auffüllen. |
Go | G{p}{,a{,b}} | Programmausführung starten. p ist die Startadresse, a ist der erste und b der zweite Haltepunkt. Nach der Programmausführung erfolgt ein Warmstart und Sprung in CP/M. |
Hex | Ha | Dezimal-ASCII-Wert der Hexzahl a anzeigen |
H#b | Hex-Wert der Dezimalzahl b anzeigen. | |
Ha,b | Die Differenz und Summe der zwei Hexzahlen a und b berechnen und anzeigen. | |
Input | Ibefehl | CCP-Befehlszeile eingeben. |
List | L{s}{,f} | 8080-Befehle mnemonisch auflisten. s ist die Start- und f die Endadresse. |
Move | Ms,h,d | Speicherinhalte zwischen der Startadresse s und der Endadresse f ab Adresse d kopieren. |
Pass | P{p{,c}} | Pass-Unterbrechungs-Punkt setzen, entfernen oder anzeigen. p ist die Unterbrechungsadresse und c der Startwert des Ablaufzählers. |
Read | Rdateispez{,d} | Mit diesem Befehl wird eine Datei in den Speicher geladen. Wahlweise kann ein Versatz d eingegeben werden. |
Set | S{W}s | Werte in den Speicher eingeben. Bei Eingabe von W wird ein 16-Bit-Wort erwartet. Eine ASCII-String-Eingabe kann nach einem ‚“‚ erfolgen. |
Trace | T{n{,c}} | Programmabarbeitung in Einzelschritten. n ist die Anzahl der Schritte und c ist die Adresse für Trace-Dienstprogramme vom Typ UTL. |
Trace | T{W}{n{,c}} | Bei Eingabe von W werden Unterprogramme schnell und nicht schrittweise abgearbeitet. |
Untrace | U{W}{n{,c}} | Kontrollierte, jedoch nicht schrittweise Abarbeitung. Parametereingabe wie bei T. |
Value | V | Anzeige der nächsten verfügbaren Adresse (NEXT)2, der End+1-Adresse der längsten zugeladenen Datei im ‚MSZE‘, der aktuellen Adresse im Programmschrittzähler (PC) und der Endadresse des verfügbaren Speichers (END). |
Write | Wdateispez{,s,f} | Schreiben der Speicherinhalte in die angegebene Datei von der Adresse s bis Adresse f. |
Examine | X{f} X{r} | Ansehen oder Ändern der CPU-Register. f ist eines der Statusregister-Bits C, E, I, M oder Z; r ist ein Register A, B, D, H, P oder S. |
Beispiele:
SID
wird in den Speicher geladen und gestartet. Seine Bereitschaft zeigt das Programm mit dem Zeichen #
.
Nach dem Laden werden folgende Speicheradressen angezeigt:
Hierbei ist:
nnnn eine hexadezimale Angabe für die nächste freie Adresse nach dem zugeladenen Programm,
mmmm die nächste freie Adresse nach dem längsten bisher zugeladenen Programm (nach dem SID
-Aufruf ist nnnn=mmmm),
pppp die Adresse im Programmzähler, ab welcher die Programmabarbeitung mit G ohne Zusatzangaben (in der Regehl 0100H) beginnen und
eeee die Endadresse des verfügbaren Benutzerspeichers (TPA).
Das ‚Doppelkreuz-Zeichen‘ #
ist die SID-Bereitschaftsmeldung. D
ist der Befehl zur Anzeige von Speicherinhalten und FE00+#128
die Angabe der Startadresse FE80H. Ohne Angabe einer Endadresse werden 12 Zeilen ausgegeben.