SID-Befehl

Format:

HTML

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.

BefehlFormatBedeutung
AssembleAsAssembler-Befehl eingeben, s ist die Startadresse.
CallCs {b{,d}}Sprung auf die Adresse s, b ist der Wert im Registerpaar BC und d der Wert im Registerpaar DE.
DisplayD{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.
LoadEdateispez {,sym-dateispez}Ein Programm und Symboltabelle zuladen.
LoadE* sym-dateispezSymbolische Tabelle zuladen.
FillFs,f,dSpeicher mit einem Wert füllen, s ist die Startadresse, f die Endadresse und d ein 8-Bit-Wert zum Auffüllen.
GoG{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.
HexHaDezimal-ASCII-Wert der Hexzahl a anzeigen
H#bHex-Wert der Dezimalzahl b anzeigen.
Ha,bDie Differenz und Summe der zwei Hexzahlen a und b berechnen und anzeigen.
InputIbefehlCCP-Befehlszeile eingeben.
ListL{s}{,f}8080-Befehle mnemonisch auflisten. s ist die Start- und f die Endadresse.
MoveMs,h,dSpeicherinhalte zwischen der Startadresse s und der Endadresse f ab Adresse d kopieren.
PassP{p{,c}}Pass-Unterbrechungs-Punkt setzen, entfernen oder anzeigen. p ist die Unterbrechungsadresse und c der Startwert des Ablaufzählers.
ReadRdateispez{,d}Mit diesem Befehl wird eine Datei in den Speicher geladen. Wahlweise kann ein Versatz d eingegeben werden.
SetS{W}sWerte in den Speicher eingeben. Bei Eingabe von W wird ein 16-Bit-Wort erwartet. Eine ASCII-String-Eingabe kann nach einem ‘”‘ erfolgen.
TraceT{n{,c}}Programmabarbeitung in Einzelschritten. n ist die Anzahl der Schritte und c ist die Adresse für Trace-Dienstprogramme vom Typ UTL.
TraceT{W}{n{,c}}Bei Eingabe von W werden Unterprogramme schnell und nicht schrittweise abgearbeitet.
UntraceU{W}{n{,c}}Kontrollierte, jedoch nicht schrittweise Abarbeitung. Parametereingabe wie bei T.
ValueVAnzeige 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).
WriteWdateispez{,s,f}Schreiben der Speicherinhalte in die angegebene Datei von der Adresse s bis Adresse f.
ExamineX{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:

HTML

SID wird in den Speicher geladen und gestartet. Seine Bereitschaft zeigt das Programm mit dem Zeichen #.

HTML

Nach dem Laden werden folgende Speicheradressen angezeigt:

HTML

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

HTML

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.

Datenschutz
Ich, Andreas Hoever (Wohnort: Deutschland), verarbeite zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in meiner Datenschutzerklärung.
Datenschutz
Ich, Andreas Hoever (Wohnort: Deutschland), verarbeite zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in meiner Datenschutzerklärung.