Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
cpm:cpm22 [2015/03/02 15:24] – angelegt volkerp | cpm:cpm22 [2015/03/05 12:55] (aktuell) – [ASM] volkerp | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
CP/M ist eine Reihe von Betriebssystemen, | CP/M ist eine Reihe von Betriebssystemen, | ||
- | + | ===== Allgemeines ===== | |
- | | + | |
- | Microprocessors) ist ein diskettenorientiertes | + | |
- | System und aus diesem Grund stets nur mit | + | |
- | Disketten bzw. Festplatten zu betreiben. CP/M ist | + | |
- | von der Systemdiskette in den Arbeitsspeicher zu | + | |
- | bringen (booten oder auch Kaltstart). Das erfolg- | + | |
- | reiche Booten wird durch eine Bildschirmmeldung | + | |
- | und dem Erscheinen des System-Prompts ( A> ) | + | |
- | angezeigt. | + | |
- | | ||
- | Das A bezeichnet das angemeldete Laufwerk | ||
- | und das «größer als» die eigentliche Bereitschaft zur | ||
- | Annahme von Eingaben über die Tastatur. | ||
- | | + | ? System-Start |
- | | + | : Das Betriebssystem CP/M-80 (Control Program for Microprocessors) ist ein diskettenorientiertes System und aus diesem Grund stets nur mit Disketten bzw. Festplatten zu betreiben. CP/M ist von der Systemdiskette in den Arbeitsspeicher zu bringen (booten oder auch Kaltstart). Das erfolgreiche Booten wird durch eine Bildschirmmeldung und dem Erscheinen des System-Prompts ( A> ) angezeigt. |
- | | + | ? Prompt |
- | | + | : Bereitschaftsmeldung ( A> ) Das A bezeichnet das angemeldete Laufwerk und das «größer als» die eigentliche Bereitschaft zur Annahme von Eingaben |
- | | + | ? Eingaben |
+ | : Zulässige Eingaben sind: Kommandos und Programmaufrufe. Alle Eingaben müssen regelmäßig mit einem Wagenrücklauf (er o. carriage return) abgeschlossen werden. | ||
+ | ? Laufwerk | ||
+ | : Das angemeldete Laufwerk ist das vor dem Prompt bezeichnete. Auf dieses Laufwerk wird nach einem Programmaufruf zugegriffen. Das Laufwerk kann durch Eingabe eines neuen Laufwerknamens und einem Doppelpunkt gewechselt werden. (B: «er») Der Name eines Laufwerkes besteht aus einem Buchstaben (A:, B:, ....P:) und einem Doppelpunkt. | ||
+ | ? Dateien | ||
+ | : Die auf einer Diskette aufgezeichneten Informationen (Daten) werden nach ihrer logischen Zusammengehörigkeit zu selbständigen Einheiten, sogenannten Dateien (Daten-Kartei) zusammengefaßt. Diese Dateien (Files) können einzeln angesprochen oder benutzt werden. | ||
+ | ? Dateinamen | ||
+ | : Alle Dateien werden mit einem Namen versehen. Das Ansprechen einer Datei erfolgt stets über den Dateinamen, der aus dem eigentlichen Namen und einer Klassenbezeichnung (extension) besteht. Die Länge des Namens ist auf 8 Zeichen für den Namen und 3 für die Extension begrenzt. Die übliche Schreibweise ist «name.ext» | ||
+ | ? Mehrfachnamen | ||
+ | : Zu bestimmten Befehlen und Programmen können direkt bei der Eingabe Dateinamen mit angegeben werden. Unter CP/M besteht die Möglichkeit, | ||
+ | ? Dateiinhalte | ||
+ | : Dateien können unterschiedliche Inhalte aufweisen. | ||
+ | ? Programmdateien | ||
+ | : Dateien mit der Klassenbezeichnung «COM» enthalten lauffähige Programme, die in binärer Form gespeichert sind. | ||
+ | ? Datendateien | ||
+ | : Textdateien: | ||
+ | ? Programmaufrufe | ||
+ | : Neben den sechs unten genannten residenten CP/M Kommandos werden alle weiteren Befehle mittels spezieller Programme ausgeführt. Ein Programm wird unter CP/M durch Eingabe des Dateinamens ohne Klassenbezeichnung mit abschließendem «return» gestartet.\\ «Programmname» «cr» \\ z.B.: WS «cr» (Starten von WordStar) | ||
+ | ? Diskettenwechsel Warmstart | ||
+ | : Nach jedem Diskettenwechsel ist ein Warmstart durch Eingabe von Control C durchzuführen. Durch das Wechseln einer Diskette wird automatisch ein Schreibschutz eingeschaltet, | ||
- | | + | ===== residente Kommandos ===== |
- | bezeichnete. Auf dieses Laufwerk wird nach einem | + | |
- | Programmaufruf zugegriffen. Das Laufwerk kann | + | |
- | durch Eingabe eines neuen Laufwerknamens und | + | |
- | einem Doppelpunkt gewechselt werden. (B: «er») | + | |
- | Der Name eines Laufwerkes besteht aus einem | + | |
- | Buchstaben (A:, B:, ....P:) und einem Doppelpunkt. | + | |
- | | + | ? DIR |
- | | + | : Inhaltsverzeichnis einer Diskette auf dem Bildschirm ausgeben, (directory). Alle auf der Diskette vorhandenen |
- | | + | ? ERA |
- | sogenannten Dateien (Daten-Kartei) zusammen- | + | : «Name.ext»\\ Löscht die angegebene Datei. |
- | | + | ? REN |
- | | + | : «neuer Name.ext»=«alter Name.ext»\\ Umbenennen einer Datei. Die als «alter Name.ext» angegebene Datei erhält den unter «neuer Name.ext» bezeichneten Namen; keine Mehrfachnamen.\\ REN B: |
+ | ? TYPE | ||
+ | : «name.ext» Listet den Inhalt eine Textdatei auf den Bildschirm. Die Datei darf nur darstellbare ASCII-Zeichen enthalten. Wird versucht, eine Programmdatei «.COM» | ||
+ | ? SAVE | ||
+ | : «Anzahl» «Name.ext» speichert den Inhalt des Arbeitsspeichers in einer Datei ab. Es wird der Inhalt ab Speicherstelle 100H in 256 Byte Blöcken in die Datei «name.ext» heruntergeladen. Die Anzahl der Blöcke ist stets (dezimal) mit anzugeben. | ||
+ | ? USER | ||
+ | : «nummer» schaltet auf den in „Nummer" | ||
- | | ||
- | Das Ansprechen einer Datei erfolgt stets über den | ||
- | Dateinamen, der aus dem eigentlichen Namen und | ||
- | einer Klassenbezeichnung (extension) besteht. Die | ||
- | Länge des Namens ist auf 8 Zeichen für den Namen | ||
- | und 3 für die Extension begrenzt. Die übliche | ||
- | Schreibweise ist «name.ext» | ||
- | | ||
- | | ||
- | werden. Unter CP/M besteht die Möglichkeit, | ||
- | fachnamen anzugeben. Diese Namen werden aus | ||
- | den sogenannten «Wildcards» «*» und «?» | ||
- | zusammengesetzt. | ||
- | *.* spricht alle auf einer Diskette vorhandenen | ||
- | Dateien an (auch ???????? | ||
- | *.C?? zeigt auf alle Dateien, bei denen der erste | ||
- | Buchstabe der Klassenbezeichnung (Extension) ein | ||
- | « C »ist. | ||
- | | + | ===== STAT ===== |
- | Programmdateien: | + | (Status, Statistics) ist ein externer CP/M Befehl. Er wird wie jedes andere |
- | Dateien mit der Klassenbezeichnung «COM» | + | Programm aus einer Pro- grammdatei (Klassenbezeichnung «COM») heraus ausgeführt |
- | enthalten lauffähige Programme, die in | + | (Eintrag im Inhaltsverzeichnis («DIR») = STAT. COM) |
- | binärer Form gespeichert sind. | + | |
- | | + | |
- | Textdateien: | + | |
- | | + | |
- | sichtbar gemacht werden können. | + | |
- | sonstige Datendateien, | + | |
- | speziellen Programmen ausgewertet wird. | + | |
- | | + | **Funktion** |
- | Bildschirm ausgeben, (directory). Alle auf der | + | |
- | Diskette vorhandenen Dateien werden mit ihren | + | |
- | vollständigen Namen (name.ext) aufgelistet. | + | |
- | DIR B:*.COM ergibt ein Verzeichnis aller Dateien | + | |
- | mit der Klassenbezeichnung «COM» auf der Diskette | + | |
- | in Laufwerk «B:». | + | |
- | | + | Der Befehl |
- | Löscht die angegebene Datei. | + | Systemeigenschaften. Es können zusätzlich Argumente, die weitere Funktionen |
- | Die Verwendung von Mehrfachnamen ist zulässig. | + | auslösen, mit angegeben werden. STAT «argument» STAT «cr» gibt den auf |
- | ERA B:*.* löscht alle auf der Diskette | + | der Diskette |
- | «B:». Sollen alle Dateien gelöscht werden, erscheint | + | «laufwerk») |
- | eine Sicherheitsabfrage, | + | |
- | Löschen zu vermeiden. Erst nach Beantwortung mit | + | |
- | «Y» (Yes) wird der Löschvorgang ausgeführt. | + | |
- | REN «neuer Name.ext» = «alter Name.ext» | + | ? STAT USR: |
- | | + | : Die auf der Diskette angelegten Benutzerbereiche und der aktive Benutzerbereich werden in einer Übersicht ausgegeben. |
- | | + | ? STAT DEV: |
- | Name.ext» bezeichneten Namen; keine | + | : gibt eine Tabelle mit den Zuordnungen der Kanäle zu bestimmten Geräten aus. |
- | | + | ? STAT «Kanal»:=«Gerät» |
- | REN B: NEUNAME.TXT = B: ALTNAME.TXT | + | : weist den möglichen Kanälen CON:, LST:, PUN: oder RDR: ein bestimmtes Gerät zu. |
+ | ? STAT DSK: | ||
+ | : ergibt eine Tabelle der Laufwerkseigenschaften der aktiven Laufwerke. (Speicherplatz, | ||
+ | ? STAT «name.ext» | ||
+ | : liefert eine Übersicht über die Größe der angegebenen Dateien. Mehrfachnamen zulässig | ||
+ | ? STAT «name.ext» | ||
+ | : setzt Dateimerkmale. | ||
+ | ? $R/W | ||
+ | : (read/ | ||
+ | ? $R/O | ||
+ | : (read/only) Es kann nur aus der Datei gelesen werden. Schreiben führt zu einer Fehlermeldung. | ||
+ | ? $DIR | ||
+ | : Die Datei erscheint nach dem Befehl «DIR» mit im Inhaltsverzeichnis. | ||
+ | ? $SYS | ||
+ | | ||
+ | | ||
- | | + | **Kanäle** |
- | Bildschirm. Die Datei darf nur darstellbare ASCII- | + | |
- | Zeichen enthalten. Wird versucht, eine Programm- | + | |
- | datei «.COM» zu listen, erscheint nur ein großes | + | |
- | Durcheinander auf dem Bildschirm. Die Folge | + | |
- | könnte ein undurchschaubarer Zustand des | + | |
- | Rechner-Systems sein, der nur durch einen Neu- | + | |
- | Start (booten, Kaltstart) zu beheben ist. | + | |
+ | CON: Konsolenkanal (Bildschirmgerät m. Tastatur)\\ | ||
+ | LST: Druckerkanal (Drucker)\\ | ||
+ | PUN: Lochstreifenstanzer (Fernschreiber)\\ | ||
+ | RDR: Lochstreifenleser (Fernschreiber) | ||
- | | + | Prinzipiell sagt diese von Digital Research vorgesehene Kanal-Bezeichnung nichts |
- | | + | über die tatsächliche Verwendung einzelner Kanäle aus. Sie können beliebig |
- | ab Speicherstelle 100H in 256 Byte Blöcken in die | + | benutzt werden. |
- | Datei «name.ext» heruntergeladen. Die Anzahl der | + | |
- | | + | |
- | | + | **Geräte** |
- | Benutzerbereich auf der Diskette (Festplatte) um. | + | |
- | Die Anzahl der zur Verfügung stehenden Bereiche | + | |
- | ist 32 (0..31) auf einer Diskette innerhalb eines | + | |
- | logischen Laufwerkes. Durch diese Einrichtung | + | |
- | werden voneinander unabhängige Arbeitsbereiche | + | |
- | auf dem Speichermedium geschaffen, die von | + | |
- | anderen USER-Bereichen aus nicht direkt erreicht | + | |
- | werden können. (Ausnahme siehe „PIP - kopieren" | + | |
- | Die Einteilung eines logischen Laufwerkes in ge- | + | |
- | trennte Benutzerbereiche ist vor allem zur Kompa- | + | |
- | tibilität mit dem Mehrplatz-BS MP/M gedacht. | + | |
- | | + | |
- | Neben den sechs genannten residenten CP/M | + | |
- | Kommandos werden alle weiteren Befehle mittels | + | |
- | spezieller Programme ausgeführt. Ein Programm | + | |
- | wird unter CP/M durch Eingabe des Dateinamens | + | |
- | ohne Klassenbezeichnung mit abschließendem | + | |
- | «return» gestartet. | + | |
- | «Programmname» «cr» | + | |
- | z.B.: WS «cr» (Starten von WordStar) | + | |
- | | + | Den Kanälen können jeweils bestimmte Geräte zugeordnet werden. |
- | | + | |
- | durch Eingabe von Control C durchzuführen. Durch | + | |
- | das Wechseln einer Diskette wird automatisch ein | + | |
- | Schreibschutz eingeschaltet, | + | |
- | die Diskette zu schreiben, zu einer Fehlermeldung | + | |
- | (u. evtl. Datenverlust) führt. | + | |
+ | z.B. LST:=TTY: LPT: UL1: UL2:\\ CON:=TTY: CRT: BAT: UC1: | ||
- | | ||
- | wird wie jedes andere Programm aus einer Pro- | ||
- | grammdatei (Klassenbezeichnung «COM») heraus | ||
- | ausgeführt (Eintrag im Inhaltsverzeichnis («DIR») = | ||
- | STAT. COM) | ||
- | | ||
- | oder Veränderung von Systemeigenschaften. Es | ||
- | können zusätzlich Argumente, die weitere | ||
- | Funktionen auslösen, mit angegeben werden. | ||
- | STAT «argument» | ||
- | STAT «cr» | ||
- | den Schreibzustand an. (auch STAT «laufwerk») | ||
- | STAT USR: Die auf der Diskette angelegten Benutzerbereiche | + | ===== PIP ===== |
- | und der aktive Benutzerbereich werden in einer | + | |
- | Übersicht ausgegeben. | + | |
- | STAT DEV: gibt eine Tabelle mit den Zuordnungen der Kanäle | ||
- | zu bestimmten Geräten aus. | ||
- | STAT «Kanal»: =«Gerät» weist den möglichen Kanälen | + | Mit diesem Programm besteht die Möglichkeit zum Informationsaustausch mit |
- | PUN: oder RDR: ein bestimmtes Gerät zu. | + | Peripheriegeräten (Diskettendateien und Kanäle (CON:, LST: etc.)). Die |
+ | Hauptaufgabe dieses CP/M Befehls, der auch über eine Programmdatei abgewickelt | ||
+ | wird «PIP.COM», | ||
- | STAT DSK: ergibt eine Tabelle der Laufwerkseigenschaften der | + | **Kopieren** |
- | aktiven Laufwerke. (Speicherplatz, | + | |
- | | + | Eine Datei wird durch die Eingabe: «Ziellaufwerk»: |
- | | + | «name.ext» |
+ | Ziellaufwerk kopiert. Es können | ||
+ | kopiert alle Dateien von A: nach B:. | ||
+ | **Drucken** | ||
- | | + | Zum Ausdruck von ASCII-Dateien kann PIP Daten auf einen Kanal ausgeben. PIP |
+ | LST:=«name.ext» | ||
- | | + | **Wiederholungseingaben** |
- | beschrieben werden. | + | |
- | | + | Wird PIP ohne zusätzliche Angaben aufge rufen, so erscheint als Prompt ein «*». |
- | werden. Schreiben führt | + | Das ist die Bereitschaftsmeldung. |
+ | eingegeben | ||
- | | + | **Optionen** |
- | Inhaltsverzeichnis. | + | |
- | | + | PIP bietet |
- | | + | werden in eckigen Klammern «[ ]» direkt nach der Befehlseingabe angegeben. PIP |
- | | + | «Laufwerk»: |
- | Alle Merkmale sind beliebig einsetzbar. | + | | [V] | Verify überprüft die Zieldatei auf korrekte Übertragung. Nur bei Diskettendateien. | |
+ | | [E] | Echo wiederholt alle gelesenen Zeichen auf dem Bildschirm. Nur bei ASCII-Dateien zu verwenden. | | ||
+ | | [Gn] | Get user liest die angegebene Datei aus dem in «n» bezeichneten User-Bereich. | | ||
+ | | [B] | Block mode transfer. Es wird das Software-Protokoll XON- XOFF (controll-S) gefahren. | | ||
+ | | [H] | Hex data transfer. Es werden nur Daten im Intel-Hex- Format übertragen. | | ||
+ | | [O] | Object file transfer. Es wird über alle Control-Z (Dateiende) hinaus | ||
+ | | [N] | Zeilennummerierung. | | ||
+ | | [N2] | Zeilennummerierung mit führenden Nullen und TAB. | | ||
+ | | [Pn] | Fügt alle «n» Zeilen einen Seitenvorschub ein. | | ||
+ | | [W] | Schreibt über schreibgeschützte Dateien (R/O) ohne Rückfrage. | | ||
+ | | [R] | Liest System-Dateien. Mit Stat veränderbar. | | ||
- | | + | ===== SUBMIT ===== |
- | LST: Druckerkanal (Drucker) | + | |
- | PUN: Lochstreifenstanzer (Fernschreiber) | + | |
- | RDR: Lochstreifenleser (Fernschreiber) | + | |
- | Prinzipiell sagt diese von Digital Research | + | Mit dem Programm «SUBMIT.COM» wird unter CP/M die Möglichkeit geschaffen, |
- | vorgesehene Kanal-Bezeichnung nichts über die | + | gleiche, immer wieder kehrende Befehlsabläufe |
- | | + | heraus auszuführen. Es ist eine Datei mit den einzelnen Befehlen, je ein Befehl |
- | | + | (o. Programmaufruf) pro Zeile, zu erstellen, (keine Leerzeilen, «return» nach |
+ | der letzten Zeile). | ||
- | | + | **Dateiname** |
- | zugeordnet werden. | + | |
- | z. B. LST: = TTY: LPT: UL1: UL2: | + | |
- | CON: = TTY: CRT: BAT: UC1: | + | |
- | | + | Der Name der «Submit» Stapeldatei kann beliebig gewählt werden. Die |
- | Informationsaustausch mit Peripheriegeräten | + | Klassenbezeichnung muß «SUB» lauten. |
- | (Diskettendateien und Kanäle (CON:, LST: etc.)). | + | |
- | | + | |
- | über eine Programmdatei abgewickelt wird | + | |
- | «PIP.COM», | + | |
- | | + | |
- | | + | **Aufruf** |
- | «Ziellaufwerk»: | + | |
- | von der Diskette im Herkunftslaufwerk auf die | + | |
- | Diskette im Ziellaufwerk kopiert. Es können | + | |
- | Mehrfachnamen angegeben werden. | + | |
- | B: = A*.* kopiert alle Dateien von A: nach B:. | + | |
- | Drucken | + | Die Ausführung einer Stapelverarbeitung erfolgt durch: |
- | auf einen Kanal ausgeben. PIP LST: = «name.ext» | + | |
- | schickt den Dateiinhalt auf den angeschlossenen | + | |
- | Drucker. | + | |
- | | + | **Kommentare** |
- | rufen, so erscheint als Prompt ein «*». Das ist die | + | |
- | Bereitschaftsmeldung. Es können jetzt nach dem | + | |
- | «*» die Anweisungen eingegeben werden, ohne PIP | + | |
- | jeweils von der Diskette zu laden. | + | |
- | | + | In die Stapeldatei können neben den Befehlen auch Kommentare eingefügt |
- | zu verändern. Die Optionen | + | die auf dem Bildschirm während |
- | | + | Zeilen müssen mit einem Zeichen («».,: — ?*[]) beginnen. |
- | | + | |
- | PIP «Laufwerk»: = «name.ext» | + | |
- | | + | **Variable** |
- | Nur bei Diskettendateien. | + | |
- | | + | werden in einer Stapeldatei durch das «$»-Zeichen |
- | | + | eingeführt. Variable = $1.. |
- | | + | Variablen-Eingaben erfolgen zusammen mit dem Aufruf der Submit- Datei.\\ |
- | bezeichneten User-Bereich. | + | SUBMIT «name» «Eingabe für Variable 1».. |
- | | + | Zur Ergänzung der Submit-Funktion steht das Programm «XSUB.COM» zur Verfügung. |
- | XOFF (controll-S) gefahren. | + | ==== XSUB ==== |
- | | + | Mit XSUB wird die automatische Eingabe in laufende Programme, die mit der |
- | Format übertragen. | + | Submit-Funktion aufgerufen wurden, ermöglicht. |
- | | + | **Aufruf** |
- | ende) hinaus übertragen. Nur bei Dateizusammenfassung. | + | |
- | | + | XSUB muß zu Beginn in der Stapeldatei in einer eigenen Befehlszeile erscheinen. |
- | | + | **Programmeingaben über XSUB** |
- | | + | Die von einem Programm erwarteten Eingaben sind in der entsprechenden |
+ | Reihenfolge, | ||
+ | Eingaben können auch wieder Variable sein, die beim Aufruf der gesamten Submit | ||
+ | Funktion mit angegeben werden. | ||
- | | + | Beispiel: Erstellen einer Backup-Kopie |
+ | Submit-Datei «BACKUP.SUB» | ||
- | | + | < |
+ | : **** Erstellen einer Backup-Kopie **** «return» | ||
+ | PIP B:=A:*.* «return» | ||
+ | : **** Ende **** «return» | ||
+ | </ | ||
- | | + | **Steuerzeichen** |
- | die Möglichkeit geschaffen, gleiche, immer wieder | + | |
- | kehrende Befehlsabläufe aus einer Textdatei | + | |
- | (Stapeldatei) heraus auszuführen. Es ist eine Datei | + | |
- | mit den einzelnen Befehlen, je ein Befehl | + | |
- | (o. Programmaufruf) pro Zeile, zu erstellen, (keine | + | |
- | Leerzeilen, «return» nach der letzten Zeile). | + | |
- | | + | Bei Eingaben über die Tastatur sind folgende Steuerzeichen wirksam: |
- | gewählt werden. Die Klassenbezeichnung muß | + | |
- | «SUB» lauten. | + | |
- | | + | | Control X | Befehlszeile löschen | |
- | | + | | Control U | Eingabe rückgängig machen | |
+ | | Control E | Zeile beenden und nächste Zeile beginnen | | ||
+ | | Control R | Befehlszeile abschließen | | ||
+ | | Control H | Cursor eine Position nach links | | ||
+ | | Control C | Warmstart auslösen (nach Diskettenwechsel) | | ||
+ | | Control S | Pause | | ||
+ | | Control Q | Start nach einer Pause | | ||
+ | | Control l | Tabulator | | ||
- | | + | ===== DDT ===== |
- | Kommentare eingefügt werden, die auf dem | + | |
- | Bildschirm während der Abarbeitung der Datei | + | |
- | erscheinen. Kommentar-Zeilen müssen mit einem | + | |
- | Zeichen («».,: — ?*[]) beginnen. | + | |
- | | + | (dynamic debugging tool) Dieses Programm ist ein dynamischer «Debugger», |
- | und einer fortlaufenden Nummer eingeführt. | + | andere Programme schrittweise abgearbeitet werden können. Das ist oft notwendig, |
- | | + | um die korrekte Funktion eines (selbst geschriebenen) Programmes zu untersuchen. |
+ | Darüber hinaus können Programme disassembliert, | ||
+ | stellen) verändert oder Speicherbereiche im Hauptspeicher verschoben werden. | ||
- | | + | Aufruf |
- | Datei. | + | |
- | Zur Ergänzung | + | ? I«name.ext» |
- | Programm | + | : Einen Dateinamen für eine Leseoperation vorgeben. |
+ | ? R«versatz» | ||
+ | : Die mit «l» angegebene Datei wird gelesen und an der Adresse (Originaladresse des Programms + Versatz) abgelegt. | ||
+ | ? G«start», «stopt», «stop2».. | ||
+ | : Das Programm | ||
+ | ? T«anzahl» | ||
+ | : Die angegebene «Anzahl» Programmschritte wird einzeln ausgeführt und der aktuelle Prozessorzustand angezeigt. | ||
+ | ? U«anzahl» | ||
+ | : Wie T, nur der Prozessorzustand wird nicht angezeigt. | ||
+ | ? X | ||
+ | : Der Prozessorzustand wird vollständig angezeigt. | ||
+ | ? X«Register» | ||
+ | : Das angegebene Register wird angezeigt. | ||
+ | ? D«anfang, ende» | ||
+ | : Der Speicherinhalt wird von «anfang» bis «ende» Hexadezimal (Sedezimal) und im ASCII-Format ausgegeben. | ||
+ | ? L«anfang», | ||
+ | : Der Speicherinhalt wird in 8080-Assembler mnemonics ausgegeben (disassembliert). | ||
+ | ? A«adresse» | ||
+ | : Es können mnemonische Assembler-Befehle direkt eingegeben werden. | ||
+ | ? S«adresse» | ||
+ | : Die angegebene Speicherstelle kann direkt (hexadezimal) verändert werden. | ||
+ | ? F«anfang», | ||
+ | : Der Speicherbereich wird mit «wert» gefüllt. | ||
+ | ? M«anfang», | ||
+ | : Der Speicherbereich wird an die Adresse ab «Ziel» kopiert. | ||
+ | ? H«wert 1», «wert 2» | ||
+ | : Die Summe und die Differenz zwischen Wert 1 und Wert 2 wird ermittelt und Hexadezimal ausgegeben. | ||
+ | |||
+ | ===== ASM ===== | ||
- | | + | ASM ist der Standard-Assembler unter CP/M. Mit ihm können selbstgeschriebene |
- | Programme, die mit der Submit-Funktion aufgerufen | + | Programme |
- | | + | Datei muß die Klassenbezeichnung (ext) «ASM» tragen. |
- | Aufruf | + | Aufruf |
- | eigenen Befehlszeile erscheinen. | + | |
- | | + | ASM «name» |
- | Die von einem Programm erwarteten Eingaben sind | + | |
- | in der entsprechenden Reihenfolge, | + | |
- | Befehlszeile der Stapeldatei, | + | |
- | Die Eingaben können auch wieder Variable sein, die | + | |
- | beim Aufruf der gesamten Submit Funktion mit | + | |
- | angegeben werden. | + | |
- | Beispiel: Erstellen einer Backup-Kopie | + | Erzeugte Dateien Die vom Assembler erzeugten Dateien tragen stets den Namen der |
- | | + | «. ASM»-Datei, jedoch unterschiedliche Klassenbezeichnung. |
- | : **** Erstellen einer Backup-Kopie **** «return» | + | |
- | PIPB: =A: *.* «return» | + | |
- | : **** Ende **** «return» | + | |
- | | + | PRN-Datei |
- | Steuerzeichen wirksam: | + | |
- | Control X - Befehlszeile löschen | + | HEX-Datei In dieser Datei wird das Programm im Intel-Hex-Format abgelegt. |
- | Control U - Eingabe rückgängig machen | + | |
- | Control E - Zeile beenden und nächste Zeile | + | |
- | beginnen | + | |
- | Control R - Befehlszeile abschließen | + | |
- | Control H - Cursor eine Position nach links | + | |
- | Control C - Warmstart auslösen (nach | + | |
- | Diskettenwechsel) | + | |
- | Control S - Pause | + | |
- | Control Q - Start nach einer Pause | + | |
- | Control l - Tabulator | + | |
- | DDT (dynamic debugging tool) Dieses Programm | + | ===== LOAD ===== |
- | ist ein dynamischer «Debugger», | + | |
- | andere Programme schrittweise abgearbeitet | + | |
- | werden können. Das ist oft notwendig, um die | + | |
- | korrekte Funktion eines (selbst | + | |
- | geschriebenen) Programmes zu untersuchen. | + | |
- | Darüber hinaus können Programme | + | |
- | disassembliert, | + | |
- | stellen) verändert oder Speicherbereiche im | + | |
- | Hauptspeicher verschoben werden. | + | |
- | Aufruf von DDT: DDT «name.ext» | + | |
- | | + | Mit dem Programm «Load. COM» wird das |
- | + | ||
- | | + | |
- | und an der Adresse (Originaladresse des | + | |
- | Programms + Versatz) abgelegt. | + | |
- | + | ||
- | | + | |
- | ausgeführt mit Haltepunkten bei «Stop 1» etc. | + | |
- | + | ||
- | | + | |
- | wird einzeln ausgeführt und der aktuelle | + | |
- | Prozessorzustand angezeigt. | + | |
- | + | ||
- | | + | |
- | angezeigt. | + | |
- | | + | |
- | + | ||
- | | + | |
- | + | ||
- | | + | |
- | «ende» Hexadezimal (Sedezimal) und im | + | |
- | ASCII-Format ausgegeben. | + | |
- | + | ||
- | | + | |
- | mnemonics ausgegeben (disassembliert). | + | |
- | + | ||
- | | + | |
- | direkt eingegeben werden. | + | |
- | + | ||
- | | + | |
- | (hexadezimal) verändert werden. | + | |
- | + | ||
- | | + | |
- | gefüllt. | + | |
- | + | ||
- | | + | |
- | Adresse ab «Ziel» kopiert. | + | |
- | + | ||
- | | + | |
- | Wert 1 und Wert 2 wird ermittelt und | + | |
- | Hexadezimal ausgegeben. | + | |
- | + | ||
- | | + | |
- | Mit ihm können selbstgeschriebene | + | |
- | Programme (in 8080-Assembler) in das Intel- | + | |
- | Hex-Format übersetzt werden. Die Datei muß | + | |
- | die Klassenbezeichnung (ext) «ASM» tragen. | + | |
- | + | ||
- | | + | |
- | | + | |
- | stets den Namen der «. ASM»-Datei, | + | |
- | unterschiedliche Klassenbezeichnung. | + | |
- | + | ||
- | | + | |
- | Programmes abgelegt. | + | |
- | + | ||
- | | + | |
- | Hex-Format abgelegt. | + | |
- | + | ||
- | | + | |
zuvor assemblierte Programm vom Intel-Hex- | zuvor assemblierte Programm vom Intel-Hex- | ||
Format in Maschinensprache übersetzt und in | Format in Maschinensprache übersetzt und in | ||
Zeile 444: | Zeile 315: | ||
(Control-C) durchgeführt. | (Control-C) durchgeführt. | ||
- | Bestandteile von CP/M | + | |
+ | | ||
Das Betriebssystem CP/M besteht aus dem eigentlichen System, das | Das Betriebssystem CP/M besteht aus dem eigentlichen System, das | ||
Zeile 479: | Zeile 352: | ||
- | ED CP/M Befehl | + | ===== ED ===== |
+ | |||
+ | CP/M Befehl | ||
Art: transienter Befehl | Art: transienter Befehl |