Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
homecomputer:ac1:monitor31 [2023/01/04 11:37] – [Internes] volkerp | homecomputer:ac1:monitor31 [2023/01/04 15:29] (aktuell) – [Befehle] volkerp | ||
---|---|---|---|
Zeile 28: | Zeile 28: | ||
mit Hilfe der Backspacetaste (Rückschritt) noch korrigiert bzw. verändert | mit Hilfe der Backspacetaste (Rückschritt) noch korrigiert bzw. verändert | ||
werden. Ist der Befehl falsch oder nicht im Monitor enthalten, so quittiert der | werden. Ist der Befehl falsch oder nicht im Monitor enthalten, so quittiert der | ||
- | Computer die Eingabe mit der Ausschrift WHAT #. | + | Computer die Eingabe mit der Ausschrift WHAT? #. |
Fügt man dem Kennzeichen anstatt | Fügt man dem Kennzeichen anstatt | ||
Zeile 36: | Zeile 36: | ||
===== Befehle ===== | ===== Befehle ===== | ||
- | **A aaaa bbbb c (Arithmetik)** | + | ==== grundlegende Bedienung ==== |
- | Es werden Summe, Differenz, wenn möglich das Displacement, | ||
- | für einen Sprungbefehl aus den ersten beiden Argumenten sowie der dezimale Wert | ||
- | des ersten Arguments, berechnet. c gibt die Länge des Sprungbefehls an. Für die | ||
- | relativen Sprungbefehle des U880-Befehlssatzes ist dann c z.B. gleich zwei. | ||
- | **B aaaa (Breakpoint)** | + | **J aaaa (Jump)** |
- | Dieser Befehl | + | Dieser Befehl |
- | Programmen. Er setzt ein Softwarehaltepunkt auf die Adresse aaaa. aaaa muß dabei | + | Adresse aaaa analog dem E-Befehl, jedoch ohne Breakpointaktivierung. |
- | immer auf das erste Byte eines Befehls zeigen. Ist nach dem Starten des | + | |
- | Programms | + | **L aaaa ± (Load from Cassette)** |
- | Kontrolle geht wieder an den Monitor zurück. Zuvor werden alle Registerinhalte | + | |
- | der CPU in die RSA (Register | + | Der Computer versucht, ein Programm oder eine Datei, kurz File genannt, vom |
- | des R-Befehls anzeigen lassen. Das zu testende Programm | + | Bandgerätinterface in den Speicher zu laden. Das Argument aaaa± bewirkt, das |
- | Befehl nicht zerstört. Man kann es dann beispielsweise mit dem Go-Befehl | + | File um diesen Offset verschoben vom ursprünglichen Speicherbereich einzulesen, |
- | fortsetzen. | + | zum Beispiel dann, wenn der Speicherbereich, |
+ | wurde, im eigenen Computer nicht vorhanden ist. Sonst, also in der Regel, kann | ||
+ | man dieses Argument weglassen. Wird der Ladevorgang erfolgreich beendet, so | ||
+ | trägt | ||
+ | erscheint, in die Speicherzelle für das erste Argument ein. Das geladene | ||
+ | Programm läßt sich dann einfach mit J: anspringen. | ||
+ | |||
+ | **S aaaa bbbb cccc name (Save to Cassette)** | ||
+ | |||
+ | Hiermit kann man eine File ab der Adresse aaaa bis zur Adresse bbbb mit der | ||
+ | Startadresse cccc unter dem Namen name (Länge max 6 Zeichen) auf Magnetband | ||
+ | abspeichern. | ||
+ | |||
+ | **V (Verify with Cassette)** | ||
+ | |||
+ | Hiermit ist es möglich, ein auf Magnetband abgespeichertes File noch einmal mit | ||
+ | dem Speicheroriginal zu vergleichen. Dadurch sind z.B. Datenfehler aufgrund | ||
+ | mangelhaften Bandmaterials vermeidbar. | ||
+ | |||
+ | |||
+ | ==== Speichereditor ==== | ||
+ | |||
+ | |||
+ | **D aaaa bbbb (Display Memory; Dump)** | ||
+ | |||
+ | Der Speicherinhalt von der Adresse aaaa bis zur Adresse bbbb wird als Hexdump | ||
+ | auf dem Bildschirm ausgegeben. Zu Beginn jeder Zeile erfolgt die Ausgabe der | ||
+ | jeweiligen Anfangsadresse, | ||
**C aaaa bbbb cccc (Compare)** | **C aaaa bbbb cccc (Compare)** | ||
Zeile 63: | Zeile 86: | ||
Taste führt zum Abbruch. | Taste führt zum Abbruch. | ||
- | **D aaaa bbbb (Display | + | **M aaaa (Modify |
- | Der Speicherinhalt von der Adresse aaaa bis zur Adresse bbbb wird als Hexdump | + | Hiermit kann der RAM-Speicher ab der Adresse aaaa byteweise angezeigt und neu |
- | auf dem Bildschirm ausgegeben. Zu Beginn jeder Zeile erfolgt die Ausgabe | + | beschrieben werden. Nach jedem Drücken der CR-Taste erscheinen die aktuelle |
- | jeweiligen Anfangsadresse, es folgen 16 Datenbytes. | + | Adresse und das zugehörige Byte. Nach dem Promptsymbol läßt sich ein neues Byte |
+ | oder auch eine Bytefolge, durch Leerzeichen getrennt, eingeben. Drückt man | ||
+ | laufend nur die CR-Taste, | ||
+ | Dateneingabe würde diese nach dem Drücken | ||
+ | übertragen und der Schreibvorgang überprüft. Sollte das neue Byte nicht vom | ||
+ | Speicher übernommen worden sein, weil er z.B. im EPROM-Bereich liegt oder gar | ||
+ | nicht vorhanden ist, so erfolgt eine Fehlermeldung. Man schließt den M-Befehl | ||
+ | durch die Eingabe eines. (Punkt) ab. Dabei gelangt die zuletzt bearbeitete | ||
+ | Speicheradresse in die Speicherstelle für das zweite Argument. Dadurch läßt sich | ||
+ | der bearbeitete Bereich mit D: noch einmal betrachten. | ||
- | **E aaaa (Execute Machine Programm)** | + | **P aaaa bbbb cc (Pattern)** |
- | Das Maschinenprogramm ab Adresse aaaa läuft unter Breakpointkontrolle. Das | + | Dieser Befehl füllt den Speicher von der Adresse aaaa bis zur Adresse |
- | heißt, die Register der CPU werden entsprechend der aktuellen Werte der RSA | + | dem Bitmuster cc auf. |
- | geladen, der Softwarebreakpoint wird aktiviert und dann wird zur Adresse | + | |
- | gesprungen. | + | |
**F aa bb ce dd ... nn (Find String)** | **F aa bb ce dd ... nn (Find String)** | ||
Zeile 87: | Zeile 117: | ||
#. | #. | ||
- | **G (Go on)** | + | **T aaaa bbbb cccc (Transfer)** |
+ | |||
+ | Mit diesem Befehl kann der Speicherinhalt ab der Adresse aaaa in den | ||
+ | Speicherbereich ab der Adresse bbbb für die Länge von cccc Bytes kopiert werden. | ||
+ | Ein Überlappen der beiden Speicherbereiche ist zulässig. | ||
+ | Beispiel: T 1900 1901 80 verschiebt den Speicherinhalt ab 1900H für 80H Byte um eines nach oben. | ||
+ | |||
+ | |||
+ | ==== Debugger ==== | ||
- | Dieses Kommando funktioniert analog dem E-Befehl. Die Programmausführung wird | ||
- | hierbei ab der Adresse im PC fortgesetzt. Falls ein Breakpoint zuvor eingegeben | ||
- | wurde, wird dieser aktiviert. | ||
**I (lnitialize)** | **I (lnitialize)** | ||
Zeile 104: | Zeile 139: | ||
die Ausschrift CLR/RSA. | die Ausschrift CLR/RSA. | ||
- | **J aaaa (Jump)** | + | **B aaaa (Breakpoint)** |
- | Dieser Befehl | + | Dieser Befehl |
- | Adresse aaaa analog | + | Programmen. Er setzt ein Softwarehaltepunkt auf die Adresse aaaa. aaaa muß dabei |
+ | immer auf das erste Byte eines Befehls zeigen. Ist nach dem Starten des | ||
+ | Programms diese Adresse | ||
+ | Kontrolle geht wieder an den Monitor zurück. Zuvor werden alle Registerinhalte | ||
+ | der CPU in die RSA (Register Save Area) gerettet, so daß sie sich z.B. mittels | ||
+ | des R-Befehls anzeigen lassen. Das zu testende Programm wird durch den Break- | ||
+ | Befehl nicht zerstört. Man kann es dann beispielsweise mit dem Go-Befehl | ||
+ | fortsetzen. | ||
- | **L aaaa ± (Load from Cassette)** | ||
- | Der Computer versucht, ein Programm | + | **E aaaa (Execute Machine |
- | Bandgerätinterface in den Speicher zu laden. Das Argument aaaa± bewirkt, das | + | |
- | File um diesen Offset verschoben vom ursprünglichen Speicherbereich einzulesen, | + | |
- | zum Beispiel dann, wenn der Speicherbereich, | + | |
- | wurde, im eigenen Computer nicht vorhanden ist. Sonst, also in der Regel, kann | + | |
- | man dieses Argument weglassen. Wird der Ladevorgang erfolgreich beendet, so | + | |
- | trägt diese Routine die Startadresse des Files, die auch auf dem Bildschirm | + | |
- | erscheint, in die Speicherzelle für das erste Argument ein. Das geladene | + | |
- | Programm läßt sich dann einfach mit J: anspringen. | + | |
- | **M aaaa (Modify Memory)** | + | Das Maschinenprogramm ab Adresse |
+ | heißt, die Register der CPU werden entsprechend der aktuellen Werte der RSA | ||
+ | geladen, der Softwarebreakpoint wird aktiviert und dann wird zur Adresse aaaa | ||
+ | gesprungen. | ||
- | Hiermit kann der RAM-Speicher ab der Adresse aaaa byteweise angezeigt und neu | ||
- | beschrieben werden. Nach jedem Drücken der CR-Taste erscheinen die aktuelle | ||
- | Adresse und das zugehörige Byte. Nach dem Promptsymbol läßt sich ein neues Byte | ||
- | oder auch eine Bytefolge, durch Leerzeichen getrennt, eingeben. Drückt man | ||
- | laufend nur die CR-Taste, erfolgt die Speicheranzeige Byte für Byte. Bei einer | ||
- | Dateneingabe würde diese nach dem Drücken der CR-Taste in den Speicher | ||
- | übertragen und der Schreibvorgang überprüft. Sollte das neue Byte nicht vom | ||
- | Speicher übernommen worden sein, weil er z.B. im EPROM-Bereich liegt oder gar | ||
- | nicht vorhanden ist, so erfolgt eine Fehlermeldung. Man schließt den M-Befehl | ||
- | durch die Eingabe eines. (Punkt) ab. Dabei gelangt die zuletzt bearbeitete | ||
- | Speicheradresse in die Speicherstelle für das zweite Argument. Dadurch läßt sich | ||
- | der bearbeitete Bereich mit D: noch einmal betrachten. | ||
- | **P aaaa bbbb cc (Pattern)** | + | **G (Go on)** |
+ | |||
+ | Dieses Kommando funktioniert analog dem E-Befehl. Die Programmausführung wird | ||
+ | hierbei ab der Adresse im PC fortgesetzt. Falls ein Breakpoint zuvor eingegeben | ||
+ | wurde, wird dieser aktiviert. | ||
- | Dieser Befehl füllt den Speicher von der Adresse aaaa bis zur Adresse bbbb mit | ||
- | dem Bitmuster cc auf. | ||
**R XX (Register Display/ | **R XX (Register Display/ | ||
Zeile 152: | Zeile 178: | ||
ihres Symbols dargestellt. | ihres Symbols dargestellt. | ||
- | **S aaaa bbbb cccc name (Save to Cassette)** | + | ==== Sonstige ==== |
- | Hiermit kann man eine File ab der Adresse | + | **A aaaa bbbb c (Arithmetik)** |
- | Startadresse cccc unter dem Namen name (Länge max 6 Zeichen) auf Magnetband | + | |
- | abspeichem. | + | |
- | **T aaaa bbbb cccc (Transfer)** | + | Es werden Summe, Differenz, wenn möglich das Displacement, |
- | + | für einen Sprungbefehl aus den ersten beiden Argumenten sowie der dezimale Wert | |
- | Mit diesem Befehl kann der Speicherinhalt ab der Adresse aaaa in den | + | des ersten Arguments, berechnet. c gibt die Länge |
- | Speicherbereich ab der Adresse bbbb für die Länge | + | relativen Sprungbefehle des U880-Befehlssatzes |
- | Ein Überlappen der beiden Speicherbereiche | + | |
- | Beispiel: T 1900 1901 80 verschiebt den Speicherinhalt ab 1900H für 80H Byte um eines nach oben. | + | |
- | + | ||
- | **V (Verify with Cassette)** | + | |
- | + | ||
- | Hiermit ist es möglich, ein auf Magnetband abgespeichertes File noch einmal mit | + | |
- | dem Speicheroriginal zu vergleichen. Dadurch sind z.B. Datenfehler aufgrund | + | |
- | mangelhaften Bandmaterials vermeidbar. | + | |
**Z** | **Z** | ||
Zeile 182: | Zeile 198: | ||
werden kann. Damit ist es z.B. möglich, die Startadresse für den F-Befehl frei | werden kann. Damit ist es z.B. möglich, die Startadresse für den F-Befehl frei | ||
zu wählen. | zu wählen. | ||
+ | |||
+ | |||
===== Internes ===== | ===== Internes ===== |