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 ===== | ||