6. Funktionseinheiten eines Computers / Mikrocomputers
6. Funktionseinheiten eines Computers / Mikrocomputers
6. Funktionseinheiten eines Computers / Mikrocomputers
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Rechnergrundlagen Teil 2 - 25 - Prof. Dipl.-Ing. Komar<br />
7.2.1 DEBUG-Beschreibung<br />
DEBUG wird, wie andere DOS-Kommandos auch, durch Eingabe des Namens aufgerufen:<br />
DEBUG <br />
oder<br />
DEBUG name.ext <br />
Im zweiten Fall wird der Name (ggf mit Pfadangabe und Erweiterung) des Programms eingegeben, das getestet<br />
werden soll. DEBUG meldet sich daraufhin mit einem Bindestrich ,,-,,. Dieser Strich bedeutet, daß DEBUG auf<br />
die Eingabe von Befehlen wartet. Alle DEBUG-Befehle bestehen aus einem Schlüsselbuchstaben und ggf<br />
Optionen. Die häufigsten und wichtigsten DEBUG-Befehle sind A(ssemble), D(ump) , E (nter), G(o), I (n),<br />
L (oad ), N (ame), O (ut), P(roceed) , Q(uit), R(egister), S(earch), T(race), U(nassemble) und W (rite) in<br />
alphabetischer Reihenfolge.<br />
Es ist zu beachten ist, daß alle Zahlen ausschließlich hexadezimal eingegeben werden müssen.<br />
Eine Eingabeoption, die nicht zwingend notwendig ist, wird in eckigen Klammern [ ] dargestellt, unbedingt<br />
notwendige Optionen werden in spitze Klammem < > gesetzt.<br />
Bei einem Eingabefehler erzeugt DEBUG eine Fehlermeldung mit einem Pfeil, der auf die Stelle des Fehlers<br />
zeigt. Für den Einsatz von DEBUG ist die Kenntnis der Adressierungsarten des 8086-Prozessors notwendig.<br />
A (ssemble) Befehl Dient zur Eingabe von Assemblerbefehlen<br />
Syntax: A [Adresse]<br />
Wird A ohne Option eingegeben, wird der folgende Assemblercode an der aktuellen Adresse CS:IP abgelegt. Als<br />
Option kann eine einzelne Offsetadresse eingegeben werden (dann wird als Segment CS vorausgesetzt) oder eine<br />
komplette Adresse bestehend aus Segment : Offset, wobei Segment ein Registername sein darf (CS, DS, ES oder<br />
SS) und Offset eine Hex-Zahl oder beides Hex-Zahlen. DEBUG zeigt anschließend die aktuelle Adresse für den<br />
nun einzugebenden Assemblerbefehl an und wartet auf die Eingabe.<br />
Beispiele für Aufruf:<br />
A<br />
A 100<br />
A DS:100<br />
A 1ffa:1234 allen Beispielen folgt dann die Eingabe von Maschinenbefehlen .<br />
Ausstieg aus A: durch statt einem weiterem Maschinenbefehl.<br />
Beispiel:<br />
–a l00<br />
10BB:0100 mov ax,ff00<br />
10BB:0103 mov [bx+12],cx<br />
10BB:0106<br />
–<br />
U (nassemble) Befehl Disassembliert einen Speicherbereich<br />
Syntax: U [Adresse] [Bereich]<br />
Ab der angegebenen Adresse versucht das Programm DEBUG den Code in Assembleranweisungen zurück zu<br />
übersetzen. Als Bereich kann z. B. u 100 200 angegeben werden.<br />
Beispiel:<br />
–u l00<br />
10BB:0100 B800FF MOV AX,FF00<br />
10BB:0103 894F12 MOV [BX+12],CX<br />
. . . .<br />
10BB:0106<br />
D (ump) Befehl Zeigt Speicherinhalte an<br />
Syntax: D [Adresse] [L Länge ]<br />
Gibt man D ohne Option ein, wird ein Speicherbereich beginnend mit der Offsetadresse 100h und der Segmentadresse,<br />
die bei Start von DEBUG vorlag, ausgegeben. Wird als Option nur eine Hex-Zahl übergeben, gibt<br />
DEBUG eine kleinen Speicherblock ab Adresse DS:Hex-Zahl aus. Weiterhin kann als Option eine komplette