2 I N D E X 2 --------- 2 21 Allgemeine Informationen 5 Ausdrücke 2 22 Die DC-Befehle 6 Konstanten/Labels 2 23 Eingabe von Adressen 7 Assemblerbefehle 2 24 Adressierungarten 8 Ende des Programms 2 2 Wählen Sie eine Ziffer ! 2 2 Aktivierung der Online-Hilfe durch <F1> 2 Ende der Online-Hilfe durch <ESC> 2Allgemeine Informationen (1): 2----------------------------- 2DC ist ein Simulationsprogramm für die 8086 CPU, 2welches das Erstellen und den Test von Assembler- 2programmen ermöglicht. Die eingegebenen Befehle 2werden als Code in den Speicher assembliert und 2lassen sich als lauffähige COM-Files speichern. 2DC führt die Programme schrittweise im Trace/ Go- 2Mode aus. Dabei werden alle Register-, Flag- und 2Speicherzustände direkt am Bildschirm angezeigt. 2Die Assemblierung kann nach nach jeder Eingabe 2(Line Mode), oder aus einer ASCII-Datei (File 2Mode) erfolgen. Die Befehlseingabe läßt sich auf- 2zeichnen (Drucker) und in eine Datei sichern. 2 =>2Allgemeine Informationen (2): 2----------------------------- 2Der Assembler erzeugt 8086-Code im Speicher, der 2sich dann direkt ausführen läßt. Während der Pro- 2grammausführung mit TRACE oder GO kontrolliert DC 2die Speicherzugriffe. Schreib- / Lesezugriffe auf 2ungeschützte Speicherbereiche werden abgefangen. 2Dadurch wird ein Programmabsturz weitgehend ver- 2hindert. Die ausgeführten Befehle werden in ihrer 2mnemotechnischen Schreibweise angezeigt. 2 2Fast alle Befehle, bis auf die Ausnahmen HLT,LOCK 2und die 8087-Befehle (ESC), werden simuliert. 2 2 =>2 ^ 2 Aktueller Inhalt der 8086 Register 2 2 Inhalt des 2<= Anzeige des Programm-, =>2 Zustandes der Stack- und 2 Flagregister Datenspeichers 2 2 ┌──────────────────────────────────────────┐ 2 │ DC Ein-/Ausgabemasken │ 2 └──────────────────────────────────────────┘ 2 2 aktuelle Pro- 2<= grammadresse Kommandofeld 2 v 2Die DC-Befehle (1): Menü ^ 2------------------- 2Der Didaktische Computer unterstützt die nachste- 2henden Befehle (Auswahl per Anfangsbuchstaben): 2 21 LOAD lade COM-Datei in den Speicher 22 SAVE speichere den Code in eine COM-Datei 23 PROGRAM Eingabe von Assemblerprogrammen 24 ASCII Eingabe von ASCII-Texten 25 CODE Eingabe von HEX-Zahlen 26 DISASS Rückübersetzung des Programmcodes 27 TRACE/GO Ausführung eines Programmes 28 QUIT Beendigung des DC 2 2Weitere Hilfe, bitte den Code eingeben: => 2Die DC-Befehle (2) (LOAD): 2-------------------------- 2Der LOAD-Befehl lädt eine Datei mit 8086-Codes in 2den Speicher. Bei dieser Datei kann es sich um den2mit SAVE gesicherten Code einer DC-Sitzung han- 2deln. Weiterhin lassen sich COM-Files laden, wäh- 2rend EXE-Dateien in der vorliegenden Version nicht2unterstützt werden. Standardmäßig wird als Exten- 2sion 'COM' angenommen. Innerhalb des Filemenüs 2lassen sich Pfad und Extension verändern. Diese 2Einstellung bleibt dann bis zur Beendigung von DC 2erhalten. Bei längeren Dateien benötigt LOAD viel 2Zeit, da die Bytes einzeln gelesen werden. 2 2 (SAVE) => 2Die DC-Befehle (3) (SAVE): (LOAD) => 2-------------------------- 2Der SAVE-Befehl speichert den Speicherinhalt mit 2dem Programmcode in eine Datei. DC erzeugt stan- 2dardmäßig eine COM-Datei, die direkt von DOS aus- 2führbar ist (sofern das Programm korrekt ist). 2Vor dem Abspeichern wird nach der Anfangsadresse 2und der Länge (in Bytes) des abzuspeichernden Be- 2reichs gefragt. Damit lassen sich auch beliebige 2Speicherbereiche in Dateien sichern. In diesen 2Fällen sollte als Extension der Name BIN gewählt 2werden, um eine Verwechselung mit COM-Dateien zu 2vermeiden. DC gibt bei dieser Abfrage die Stan- 2dardwerte zur Abspeicherung des Programmes als 2COM-File vor. (PROGRAM) => 2Die DC-Befehle (4) (PROGRAM 1): (SAVE) => 2------------------------------- 2Im PROGRAM-Mode lassen sich Assemblerbefehle ein- 2geben, die dann in 8086 Codes übersetzt werden. 2Der Assembler aktzeptiert dabei alle in Punkt 7 2beschriebenen 8086 Befehle. Weiterhin sind Kon- 2stanten, Labels und Ausdrücke zulässig (s. Punkte 25 und 6). Bei unbekannten oder falschen Befehlen 2erscheint eine Fehlermeldung und die Eingabe wird 2ignoriert. Kommentare lassen sich durch ein vor- 2angestelltes Semikolon eingeben. Diese Zeilen 2werden vom Assembler ignoriert und erscheinen nur 2in der Anzeige. Im Assembler Mode werden weitere 2auf den folgenden Seiten beschriebene Pseudo-Be- 2befehle unterstützt. (PROGRAM 2) => 2Die DC-Befehle (5) (PROGRAM 2): (PROGRAM 1) => 2------------------------------- 2ASCII-Text Eingabe über den A-Befehl: 2Wird im Assembler der Befehl A<RET> eingegeben, 2geht DC in den Eingabemode. Im Eingabefenster er- 2scheint eine Abfrage nach dem Text. Nun lassen 2sich Texte eingeben, die mit der Return-Taste ab- 2zuschliessen sind. Der Assembler übersetzt den 2Text in die ASCII-Codes und speichert diese ab 2der aktuellen Adresse. Der Befehl besitzt die 2gleiche Wirkung wie der ASCII-Befehl im Haupt- 2menü. Alternativ lassen sich Texte mit der Pseudo 2Anweisung: DS Text<RET> 2eingeben (s. Assemblerbefehle 7), wobei dann die 2Abfrage entfällt. (PROGRAM 3) => 2Die DC-Befehle (6) (PROGRAM 3): (PROGRAM 2) => 2------------------------------- 2Code Eingabe über den C-Befehl: 2Wird im Assembler der Befehl C<RET> eingegeben, 2geht DC in den Eingabemode. Im Eingabefenster 2lassen sich nun Daten eingeben, die direkt in den 2Code eingefügt werden. Die Werte sind in Hexadezi-2maldarstellung einzugeben, wobei mehrere Parameter2durch Kommas zu trennen sind (z.B. 0D,0A,41<RET>).2Der Befehl besitzt die gleiche Wirkung wie der 2Code-Befehl im Hauptmenü. Alternativ lassen sich 2Datenbytes mit der Pseudo Anweisung: 2 DS Code1, Code2,...<RET> 2eingeben (s. Assemblerbefehle 7), wobei dann die 2Abfrage entfällt. (PROGRAM 4) => 2Die DC-Befehle (7) (PROGRAM 4): (PROGRAM 3) => 2------------------------------- 2Das DISK-Kommando: 2 2Wird im Assembler der Befehl D<RET> eingegeben, 2geht DC in den DISK-Mode. Ein Eingabefenster er- 2scheint mit der Abfrage nach dem Befehl: 2 2Code 1 Assemblierung einer Quelldatei 2Code 2 Abspeicherung der nachfolgenden Befehle 2Code 3 Schließe Speicherdatei 2Code 4 Abspeicherung als Turbo Pascal INLINE 2 2In einem weiteren Fenster ist der Filename der 2gewünschten Datei anzugeben. (PROGRAM 5) => 2Die DC-Befehle (8) (PROGRAM 5): (PROGRAM 4) => 2------------------------------- 2Mit dem Code 1 läßt sich eine externe Quelldatei 2in den Speicher assemblieren. Dadurch kann ein 2Assemblerprogramm mit einem Editor bearbeitet und 2anschließend mit DC in einen COM-File übersetzt 2werden. Die Abspeicherung erfolgt über das SAVE- 2Kommando. 2 2Mit Code = 2 werden alle anschließend eingegebenen2Assembleranweisungen in einer Textdatei aufge- 2zeichnet. Mit Code = 3 läßt sich die Aufzeichnung 2beenden und die Datei wird geschlossen. Damit kann2eine List-Datei der Befehlseingabe erzeugt werden.2 (ASCII) => 2Die DC-Befehle (9) (ASCII): (PROGRAM) => 2--------------------------- 2Der ASCII-Befehl ermöglicht die Eingabe von Texten2von der Benutzerebene in den Speicher. Nach Einga-2be des Kommandos und der Startadresse läßt sich 2der Text (z.B. Hallo) von der Tastatur eingeben. 2Die Texteingabe wird durch Return abgeschlossen. 2 2 2Im Assemblermode (PROGRAM) existiert die Möglich- 2keit zur Eingabe von Texten über die Befehle: 2 A und DS Text<Ret> 2Näheres findet sich bei der Beschreibung des 2PROGRAM-Modes. 2 (CODE) => 2Die DC-Befehle (10) (CODE): (ASCII) => 2--------------------------- 2Der CODE-Befehl ermöglicht die Eingabe von HEX- 2Codes von der Benutzerebene in den Speicher. Nach 2Eingabe des Kommandos und der Startadresse lassen 2sich die Codes als zweiziffrige Hexzahlen einge- 1ben. Mehrere Codes sind durch Kommas zu trennen, 2während die Eingabe mit RETURN abgeschlossen wird.2 2Im Assemblermode (PROGRAM) existiert die Möglich- 2keit zur Eingabe von Codes über die Befehle: 2 C und DB Code1,...,Code n<RET>