CP/M-Modus
1 Einleitung
CP/M ist ein Produkt der Firma Digital Research. Die beim Commodore 128 verwendete CP/M Version ist
CP/M Plus Version 3.0.
In diesem Handbuch wird diese Version als CP/M 3.0 oder nur als CP/M bezeichnet. Die Beschreibung bezieht sich hier auf die Anwendung des CP/M beim C128. Detailliertere Auskunft finden Sie im Handbuch für CP/M-Plus, das zusammen mit dem Utility-Programm duch die Ihrer Garantieinformationen anhängenden Bestellkarte angefordert werden kann.
CP/M 3.0 ist ein weit verbreitetes Betriebssystem für Mikrocomputer. CP/M 3.0 steuert und verwaltet alle Computerfunktionen: Speicher, Diskettenlaufwerke, Konsole (Bildschirm und Tastatur), Drucker und andere Peripheriegeräte. CP/M 3.0 verwaltet Diskettendateien und ermöglicht das Kopieren von Dateien in den Speicher oder zu anderen Peripheriegeräten wie z. B. zu einem Drucker. CP/M 3.0 legt verschiedene Programme im Computerspeicher ab und führt sie in Abhängigkeit von den Befehlen, die über die Konsole eingegeben werden, aus.
CP/M kann zum Erstellen eigener Programme oder zum Ausführen einer breiten Palette bereits vorhandener Programme verwendet werden.
1.1 Voraussetzungen zum Betrieb mit CP/M 3.0
Die notwendige Mindeskonfiguration zum Arbeiten unter dem Betriebssystem CP/M 3.0 besteht aus einem Computer mit einem 8080-, 8085- oder Z80-Mikroprozessor, einer Konsole (Tastatur und Bildschirm), einem Diskettenlaufwerk und einer Systemdiskette.
Im Commodore 128 ist der Z80-Mikroprozessor bereits fest eingebaut; als Konsole dienen die volle C128-Tastatur und ein 80-Zeichen Bildschirm; als Diskettenstation kann das neue schnelle Diskettenlaufwerk Commodore 1571 wie auch das Laufwerk 1541, dann allerdings nur mit normaler Lese/Schreib-Geschwindigkeit verwendet werden. Dazu gehören noch zwei Diskette, eine mit dem eigentlichen CP/M-Betriebssystem und einem ausführlichen HELP-Dienstprogramm und eine mit vielen anderen Dienstprogrammen.
1.2 Verwendung eines 40-Zeichen-Bildschirms
Bei der Verwendung eines 40-Zeichen-Bildschirms können nur 40 Zeichen pro Zeile gleichzeitig dargestellt werden. Um alle 80 Zeichen nacheinander zu sehen, muss der Bildschirminhalt horizontal verschoben werden. Dazu wird die CONTROL-Taste in Verbindung mit den entsprechenden Cursortasten (links oder rechts) verwendet.
1.3 Verwendung des Diskettenlaufwerks 1541
Auch dieses Laufwerk kann mit CP/M verwendet werden. Dabei erfolgt der Datentransfer zwischen der Konsole und Laufwerk wesentlich langsamer als mit dem Laufwerk Commodore 1571.
Das Diskettenlaufwerk 1541 kann, im Gegensatz zum Diskettenlaufwerk 1571, die Disketten nur einseitig bearbeiten. Dateien auf mit 1571 beschriebenen Disketten können nur solange bearbeitet werden, wie sie sich auf der ersten Diskettenseite befinden.
Mit beiden Laufwerken können auch Disketten, die mit dem Commodore 64 und seinem Z80-Modul angelegt sind, bearbeitet werden.
1.4 Verwendung anderer Diskettenformate
Um Dateien von anderen Computern bearbeiten zu können, ermöglicht das neue Laufwerk Commodore 1571 auch die Verwendung von Disketten, die mit folgenden Formaten beschrieben sind:
- Epson QX10 Valdocs
- Kaypro II
- Osborne
unter dem Betriebssystem CP/M 80 und
- IBM PC bzw. Commodore PC10
unter dem Betriebssystem CP/M 86.
Eine Erweiterung um andere Formate ist mit entsprechenden Programmen jederzeit möglich.
Wird eine mit einem fremden Format formatierten Diskette in das Laufwerk 1571 eingelegt, erscheint beim ersten Zugriff auf diese Diskette ein Leuchtbalken in der untersten Bildschirmzeile. In diesem Leuchtbalken erscheint dann die Systembezeichnung des Diskettenformats oder, wenn das Format nicht identifiziert werden kann, das Wort
Die vom Laufwerk akzeptierten Diskette können dann unter- CP/M 3.0 beliebig gelesen und beschrieben werden. Damit stehen dem direkten Programm- und Datenaustausch mit anderen Systemen keine Hindernisse im Weg.
Nach der Meldung des Fremdformates, muss entweder Return zum einmaligen Zugriff, oder Control Return zum dauernden Zugriff gedrückt werden. Sollte es sich z. B. um eine Diskette Kaypro II handeln, so muss nach der Meldung (Kaypro II) mit der linken oberen Cursortaste Kaypro II angewählt werden.
Die Programmübernahme wird auch dadurch erleichtert, dass die C128-Konsole die Arbeitsweise des Terminals ADM31 bzw. ADM3A emuliert. Die gleiche Emulation finden wir z. B. bei Kaypro II und IV.
2 Starten des CP/M 3.0
2.1 Laden des CP/M 3.0
Unter dem Laden (boot) des CP/M ist ein Kopieren des Betriebssystems von der CP/M-Systemdiskette in den Speicher des Computers zu verstehen.
Dies kann auf verschiedene Arten geschehen. Bei ausgeschaltetem Computer kann man die CP/M-Systemdiskette in das Diskettenlaufwerk einlegen und dann den C128 einschalten. Das CP/M-Betriebssystem wird automatisch geladen. Wenn sich der C128 im BASIC-Modus befindet, können Sie den BASIC-Befehl BOOT zum Laden des CP/M verwenden oder die RESET-Taste drücken. Dabei muss sich die CP/M-Systemdiskette im Laufwerk befinden.
Wenn Sie aus dem C64- in den CP/M-Modus wechseln möchten, müssen Sie zuerst den Computer ausschalten und dann das CP/M wie oben beschrieben laden.
Unter CP/M 3.0 steht auf dem Commodore 128 ein freier Benutzerspeicher (TPA – Transient Program Area) von 59 KByte zur Verfügung.
2.2 Die CP/M-Startmeldung auf dem Bildschirm
Nachdem das CP/M in den Speicher geladen und gestartet wurde, erscheint folgende Meldung auf dem Bildschirm:
Je nachdem, welcher Bildschirm angewählt ist, erscheint anstelle von xx
die Zahl 40
oder 80
.
Der wichtigste Teil dieser Meldung sind die zwei folgenden Zeichen:
Das ist die CP/M-System bzw. Bereitschaftsmeldung (system prompt). Diese Meldung signalisiert die Bereitschaft von CP/M zu einer Befehlsübernahme von der Tastatur. Diese Meldung sagt weiterhin aus, dass das Laufwerk A das sog. aktuelle Laufwerk ist. Das bedeutet, dasss bis zu einer anderen Laufwerkseingabe von der Tastatur alls Diskettenoperationen auf dem Laufwerk A durchgeführt werden. Das Fehlen einer Nummernangabe vor dem A bedeutet, dass der Benutzerbereich 0 (USER 0) der aktuelle Benutzerbereich ist.
Unter CP/M wird ein Disketteneinzellaufwerk als Laufwerk A zugeordnet. Das entspricht der Geräteadresse 8, Laufwerk 0 im C128- und C64-Modus. Die maximale Anzahl der tatsächlich angeschlossenen Diskettenlaufwerke beträgt vier. Weiteren Laufwerken sind die Laufwerksbezeichnungen B, C und D zugeordnet. ein virtuelles Laufwerk, das auf dem Einzellaufwerk A ein weiteres Laufwerk emuliert, erhält die Bezeichnung E.
Die CP/M Befehlszeile
CP/M 3.0 steuert die Aktivitäten des Computers in Abhängigkeit von den Befehlen, die Sie über die Tastatur eingeben. Diese Befehle erscheinen auf dem Bildschirm in einer Befehlszeile. Cine CP/M Befehlszeile setzt sich aus einem Befehlsschlüsselwort und aus optionellen Befehlsargumenten zusammen. Das Befehlsschlüsselwort bezeichnet entweder einen residenten CP/M-Befehl (z. B. TYPE
, DIR
u. a.) oder ein ausführbares Programm auf der Diskette. Das Argument beinhaltet zusätzliche Informationen, z. B. Dateiname oder andere Parameter. nachfolgend ein Beispiel für eine Befehlszeile:
In diesem Beispiel ist DIR
das Befehlsschlüsselwort und TESTDATA
das Argument. Um die Befehlszeile an CP/M zu übergeben, muss die RETURN-Taste gedrückt werden. In dieser Anleitung wird das notwendige Drücken der RETURN-Taste mit <CR>
dargestellt.
Beim Eingeben eines Zeichens auf der Tastatur erscheint dieses Zeichen gleichzeitig auch auf dem Bildschirm. Der Cursor bewegt sich dabei um eine Stelle nach rechts.Wenn Sie sich vertippen, drücken Sie die INST/DEL-Taste oder CTRL-H, um den Cursor nach links zurückzubewegen, und korrigieren Sie die falsche Eingabe. CTRL ist die Abkürzung für die CONTROL-Taste. Um ein Controlzeichen einzugeben, muss die CTRL-Taste gedrückt gehalten und gleichzeitig die entsprechende andere Taste betätigt werden. Manchmal wird für CONTROL auch die Abkürzung ⬆ (Pfeil nach oben), z. B. ⬆Z für CTRL-Z, verwendet.
Eine Übersicht der Control-Zeichen und deren Verwendung ist im Abschnitt 5 abgebildet.
Alle Eingaben in der Befehlszeile können in kleinen bzw. großen Buchstaben erfolgen. CP/M interpretiert alle Zeichen in der Befehlszeile als großgeschrieben.
Die Eingabe in die Befehlszeile sollte unmittelbar nach der Bereitschaftsmeldung erfolgen, obwohl CP/M 3.0 auch Leerstellen zwischen der Bereitschaftsmeldung und Befehlswort toleriert.
2.4 Die Befehlsarten
CP/M 3.0 unterscheidet zwei verschiedene Befehlsarten: interne bzw. residente (built-in commands) und externe bzw. tarnsiente Befehle( Dienst- und andere Programme).
Residente Befehle veranlassen die Ausführung von Programmen, die fest im Speicher als Teil des CP/M verankert sind. Diese Befehle können jederzeit ausgeführt werden, da dazu keine Diskettendateien notwendig sind.
Transiente Programme sind als Programmdateien auf Disketten gespeichert. Sie müssen zuerst von der Diskette geladen werden, bevor sie ausgeführt werden können. Diese Programmdateien sind duch die Typenbezeichnung COM gekennzeichnet.
Bei den transienten Befehlen wird nur das Befehlsschlüsselwort von CP/M interpretiert und die entsprechende Datei von der Diskette geladen. Die Argumente werden durch CP/M nicht überprüft, sondern direkt für die Programme in einem Puffer abgelegt. Eine Befehlszeile darf nicht länger als 128 Zeichen sein.
2.5 Verarbeitung einer Befehlszeile durch CP/M
Nehmen wir den DIR
-Befehl, um zu sehen, wie CP/M eine Befehlszeile interpretiert. DIR
, das eine Abkürzung für ‚directory‘ darstellt, veranlasst CP/M, ein Verzeichnis der Diskettendateien auf dem Bildschirm anzuzeigen. Der Befehl DIR
wird direkt nach der Systemmeldung eingegeben und mit RETURN agbeschlossen.
CP/M reagiert auf diesen Befehl mit der Anzeige der Namen aller Dateiein, die auf der Diskette im Laufwerk A gespeichert sind. Wenn sich beispielsweise die CP/M-Systemdiskette im Laufwerk A befindet, wird folgendes auf dem Bildschirm angezeigt:
CP/M erkennt nur korrekt eingegebene Befehlsschlüsselworte. Wenn Sie bei der Eingabe einen Fehler machen und RETURN drücken, ohne den Fehler zu korrigieren, wiederholt CP/M die Befehlszeile und fügt ein Fragezeichen an. Wird z. B. fälschlich anstelle von DIR
eingegeben, reagiert CP/M wie folgt:
Aud der Diskette im Laufwerk A wird nach der Datei DJR.COM gesucht. Ist diese Datei nicht vorhanden, wird auf dem Bildschirm
angezeigt.
Dies bedeutet, dass der Befehl DJR
vom CP/M nichtt gefunden werden kann. Um einen Tippfehler auszubessern, können Sie die INST/DEL-Taste oder CTRL-H zum Löschen des letzten eingegebenen Zeichens verwenden.
CP/M stellt eine Reihe von CTRL-Zeichen zur Verfügung, die Ihnen beim Editieren der Befehlszeile helfen.
Der Befehl DIR
akzeptiert einen Dateinamen als Argument. DIR
mit einem Dateinamen als Argument wird dazu verwendet, um zu sehen, ob sich eine bestimmte Datei auf der Diskette befindet. Um z. B. festzustellen, ob sich die Datei TESTDATA auf der Diskette befindet, wird eingegeben:
CP/M antwortet auf diese Eingabe mit der Anzeige des Dateinamens oder (falls die Datei nicht auf der Diskette vorhanden ist) mit der Meldung:
Zwischen dem Befehlswort und dem Argument muss eine Leerstelle ausgelassen werden. Wird diese Leerstelle nicht eingegeben, reagiert das CP/M mit einer Fehlermeldung:
3 CP/M Dateien
Eine der wichtigsten CP/M-Eigenschaften ist der Verwalten und Bearbeiten von Dateien auf Disketten. Dateien im CP/M-Modus sind im Prinzip das gleiche wie im C128- oder C64-Modus – nämlich eine Datenmenge. Allerdings werden diese Dateien von CP/M anders als in den anderen Modi behandelt. Dieser Abschnitt macht Sie mit zwei Arten von Dateien bekannt; Sie werden lernen, wie man Dateien erstellt, benennt und bearbeitet und welche Dateien auf Ihren CP/M-Disketten abgespeichert sind.
Wie bereits gesagt, eine CP/M-Datei ist eine Menge von Daten. Jede Datei muss einen eindeutigen Namen haben, damit sie von CP/M erkannt wird. Auch ein Inhaltsverzeichnis (directory) ist auf jeder Diskette abgespeichert. In diesem Inaltsverzeichnis sind die Namen aller Dateien und deren Lage auf der Diskette festgehalten.
3.1 Zwei Arten von CP/M-Dateien
Programmdateien und Datendateien.
In einer Programmdatei sind ausführbare Befehle abespeichert, die vom Computer schrittweise abgearbeitet werden können. Eine Datendatei beinhaltet verschiedene Informationen, z. B. ein Namens- oder ein Adressverzeichnis oder einen Text. Die Datendateien können selbst nicht ausgeführt, sondern nur von Programmdateien verarbeitet werden.
3.2 Erstellen einer Datei
Es gibt verschiedene Möglichkeiten, um CP/M-Dateien zu erstellen. Beispielsweise könnte der CP/M-Texteditor ED
dazu verwendet werden, um Dateien zu erstellen und zu benennen. Sie können auch eine Datei erstellen, indem Sie eine bereits existierende Datei an eine andere Stelle kopieren; dabei kann auch der Name der Datei geändert werden. Unter CP/M kann dazu das Programm PIP
verwendet werden. Auch andere Programme, z. B. MAC
, der CP/M 3.0-Assembler, erzeugen Ausgabedateien, und diese können wiederum als Eingabedateien für andere Programme verwendet werden.
Die ED
– und PIP
-Befehle sind, zusammen mit anderen CP/M-Befehlen, ausführlich im Teil 9 aufgeführt.
3.3 Die Dateibezeichnung
CP/M erkennt jede Datei an ihrer eindeutigen Bezeichnung. Für die Dateibezeichnung werden folgende Teile verwendet:
- die Laufwerksbezeichnung
- der Dateiname
- die Typbezeichnung
- das Passwort
Unbedingt erforderlich ist die Angabe des Dateinamens; alle anderen Bestandteile der Dateibezeichnung können, müssen aber nicht unbedingt angegeben werden.
3.4 Die Laufwerksbezeichnung
Die Laufwerksbezeichnung besteht aus einem Buchstaben (A – E) mit einem nachfolgenden Doppelpunkt. Jedem CP/M-Diskettenlaufwerk ist ein Buchstabe zugeordnet. Wenn Sie die Laufwerksbezeichnung als Teil der Dateibezeichnung angeben, sucht CP/M auf diesem Laufwerk nach der angegebenen Datei.
Wenn Sie z. B.:
eingegeben, wird auf dem Diskettelaufwerk B nach der Datei TESTDATA gesucht. Ohne Angabe der Laufwerksbezeichnung wird auf dem aktuellen Laufwerk (in der Regel A) nach der Datei gesucht.
3.5 Der Dateiname
Ein Dateiname kann bis zu 8 Zeichen lang sein. Eine Dateibezeichnung kann im einfachsten Fall nur aus einem Dateinamen bestehen.
Der Dateiname sollte so gewählt werden, dass man aus ihm auf den Inhalt der Datei schließen kann. Wenn Sie beispielsweise ein Kundenverzeichnis erstellen, können Sie als Namen dieser Datei
wählen, so dass Sie schon an dem Dateinamen den Inhalt der Datei erkennen.
3.6 Die Typbezeichnung
Um Dateien, die ähnliche Strukturen aufweisen, auch bei unterschiedlichen Dateinamen zusammenfassen zu können, lässt sich wahlweise eine Typbezeichnung an den Dateinamen anhängen. Diese Typbezeichnung kann bis zu 3 Zeichen lang sein und wird vom eigentlichen Dateinamen mit einem Punkt (.) abgetrennt. Auch bei der Wahl dieser Typbezeichnung sollte die Bezeichnung in einem Zusammenhang mit der Art der Datei suchen.
Unser Kundennamensverzeichnis könnte beispielsweise diese Bezeichnung bekommen:
Bei der Anzeige von Dateibezeichnungen durch CP/M werden kurze Dateinamen mit Leerzeichen auf acht Stellen aufgefüllt, so dass ein Vergleich der Typenbezeichnungen schnell erfolgen kann.
Die Programmdateien, die vom CP/M in den Speicher geladen werden und ausgeführt werden, sind immer durch die Typenbezeichnung COM gekennzeichnet.
3.7 Das Passwort
Bei CP/M 3.0 auf dem Commodore 128 kann ein Passwort als Teil der Dateibezeichnung definiert werden. Das Passwort kann bis zu 8 Zeichen lang sein und wird bei der Eingabe mit einem Semikolon von der vorangestellten Dateibezeichnung getrennt:
Das Passwort kann wahlweise eingegeben werden. Allerdings muss dieses Passwort als Teil der Dateibezeichnung immer eingegeben werden, wenn der Zugriff auf eine Datei mit einem Passwort geschützt ist.
Beispiel einer vollständigen Dateibezeichnung:
3.8 Dateispezifikation ‚dateispez‘
Als ‚dateispez‘ (Dateispezifikation) wird jede zuöässige Kombination der 4 Teile der Dateibezeichnung akgekürzt. Alle Teile müssen mit ihren passenden Trennzeichen getrennt werden.
Zulässige Kombinationen für CP/M-Dateibezeichnungen sind:
- Dateiname
- Laufwerksbezeichnung:Dateiname
- Dateiname.Typbezeichnung
- Laufwerksbezeichnung:Dateiname.Typbezeichnung
- Dateiname;Passwort
- Laufwerksbezeichnung:Dateiname;Passwort
- Dateiname.Typbezeichnung;Passwort
- Laufwerksbezeichnung:Dateiname.Typbezeichnung;Passwort
3.9 Benutzerbereich (User)
CP/M kann die Dateien auch einem Benutzerbereich (User 0-15) zuordnen. Mit der Benutzerbereichsnummern (User-Nummern) können Dateien in 16 verschiedene Bereiche eingeteilt werden. Die Benutzerbereichsnummer wird der Datei bei deren Erstellung zugeordnet.
Die Benutzerbereichsnummer wird immer der CP/M-Bereitschaftsmeldung vorangestellt (mit Ausnahme der Nummer 0). Der Benutzerbereich 0 ist der voreingestellte Bereich, seine Nummer wird bei Bereitschaftsmeldung nicht angezeigt. Nachfolgend einige Beispiele für die Anzeige der Benutzerbereiche und deren Bedeutung:
Zum Ändern des aktuellen Benutzerbereichs kann der interne Befehl USER
verwendet werden:
Sie können auch gleichzeitig den Benutzerbereich und das aktuelle Laufwerk ändern, indem Sie beides gleichzeitig eingeben:
Die meisten Befehle haben nur auf die Dateien Zugriff, die dem aktuellen Benutzerbereich zugeordnet sind. Allerdings kann man aus allen Benutzerbereichen auf die Dateien zugreifen, die dem Benutzerbereich 0 zugeordnet und mit dem SYS-Attribut gekennzeichnet sind.
3.10 Platzhalter beim Zugriff auf mehrere Dateien
Jeder interne oder transiente CP/M-Befehl kann sich auf mehrere Dateien beziehen, wenn im Dateinamen oder der Typenbezeichnung besondere Platzhalterzeichen verwendet werden.
Ein Platzhalter ist ein Zeichen, das anstelle einer anderen zulässigen Zeichen verwendet werden kann. CP/M verwendet den Stern (*
) und das Fragezeichen (?
) als Platzhalter. Wird z. B: das Fragezeichen (?
) als drittes Zeichen in einem Dateinamen eingesetzt, wird von CP/M an dieser Stelle jedes beliebige Zeichen akzeptiert. Ein *
veranlasst CP/M, den Dateinamen oder die Typbezeichnung von der Stelle, an der er eingesetzt wird, mit ?
aufzufüllen. Mit der Dateibezeichnung, die den Platzhalter beinhaltet, kann CP/M entsprechend den Vorgaben auf mehrere Dateien zugreifen. Wenn z. B. folgendes eingegeben wird:
ordnet CP/M alle Dateien, die im Dateinamen auf TAX enden und die Typbezeichnung LIB haben, dieser Dateibezeichnung zu. Anstelle der ersten fünf Zeichen können beliebige Zeichen stehen.
3.11 Reservierte Zeichen
Die Zeichen, die in der folgenden Tabelle aufgeführt sind, haben unter CP/M eine besondere Bedeutung und dürfen nicht als Bestandteil der Dateibezeichnung verwendet werden.
Zeichen | Bedeutung |
---|---|
<=,!|>[] TAB CR LEERST. | Befehlszeile – Trennzeichen |
: | Laufwerksbezeichnung – Trennzeichen |
. | Typbezeichnung – Trennzeichen |
; | Passwort – Trennzeichen oder Kommentar- Trennzeichen am Anfang der Befehlszeile |
*? | Platzhalter |
[] | Befehlsargumente – Trennzeichen für golbale und lokale Optionen |
/$ | Weitere Trennzeichen in der Befehlszeile |
<>$!|\+- | Weitere Trennzeichen |
3.12 Reservierte Typbezeichnung
Unter CP/M 3.0 sind mehrere Dateitypen bestimmten Programmen bereits fest zugeordnet. In der nachfolgenden Tabelle werden sie aufgelistet und kurz beschrieben.
Typ | Bedeutung |
---|---|
ASM | Quelldatei für Assembler ASM |
BAS | BASIC Programm |
COM | Ausführbare Programmdatei |
HEX | Ausgabedatei von MAC (für HEXCOM) |
HLP | HELP-Datei |
$$$ | Zwischendatei (temporär) |
PRN | Printdatei von MAC oder RMAC |
REL | Ausgabedatei von RMAC (für LINK) |
SUB | Befehlsliste für SUBMIT |
SYM | Symboldatei von MAC, RMAC oder LINK |
4 Kopieren der CP/M-Disketten und -Dateien
Kopien (backups) der CP/M-Disketten können mit einem oder mit zwei Diskettenlaufwerken angefertigt werden. Die Diskette, auf welche übertragen wird, kann eine neue oder bereits benutzte Diskette sein. Diese Diskette muss vor dem eigentlichen Kopiervorgang bereits formatiert sein. Dazu muss ein geeignetes Formatierungsprogramm verwendet werden. Auf der Diskette mit den Dienstprogrammen befindet sich hierzu das Programm FORMAT.COM
. Mit diesem Programm wird auch der CP/M-Systembootsektor auf die neu formatierte Diskette übertragen.
Nach dem FORMAT-Aufruf erscheint auf dem Bildschirm die Meldung:
Mit den Cursortasten wird ein inverser Zeiger in die Zeile mit der gewünschten Formatbezeichnung bewegt und die RETURN-Taste gedrückt. Dann erscheint:
Nach dem Einlegen der zu formatierenden Diskette im Laufwerk A muss die $-Taste gedrückt werden. Es erscheint:
Beim Eingeben von N wird mit der Meldung
das FORMAT-Programm beendet.
Alle anderen Dateien, auch die Systemdateien CPM+-SYS
und CCP.COM
, können mit dem Dienstprogramm kopiert werden.
4.1 Kopieren mit einem Diskettenlaufwerk
Disketteninhalte können von einer auf eine andere Diskette auch mit nur einem Diskettenlaufwerk (1541 oder 1571) übertragen werden. Dazu wird das Dienstprogramm PIP
verwendet. Das Format für die PIP
-Befehlseingaben kann mit dem HELP
-Befehl:
auf dem Bildschirm angezeigt werden. Als Quelllauffwerk wird das Laufwerk A und als Ziellaufwerk E eingegeben. Das Laufwerk E ist ein virtuelles Laufwerk – das bedeutet, dass dieses Laufwerk nicht als Teil der Hardware existiert. Während des Kopierens werden Sie aufgefordert, die Quelldiskette herauszunehmen und eine Zieldiskette einzulegen. Diese Aufforderung wird je nach Länge der kopierten Dateien mehrmals wiederholt.
Wird mit PIP eine ganze Diskette kopiert, so muss beachtet werden, dass Files, die eine andere Extension als COM
haben, auf jeden Fall die Option O
für Objektcode bekommen müssen: PIP b:=a*.* ÄoÜ
(ä, ü bei deutschem Zeichensatz, statt rechteckiger Klammer).
4.2 Kopieren mit zwei Diskettenlaufwerken
Mit zwei Laufwerken kann das Kopieren bequemer und schneller als nur einem Laufwerk durchgeführt werden. Die Laufwerke haben in der Regel die Bezeichnung A und B.
Um die CP/M-Systemdateien zu kopieren, wird das PIP
-Programm aufgerufen:
Jetzt wird z. B. eingegeben:
und während des Kopierens erscheint nacheinander:
Anschließend können noch andere Dateien übertragen oder das PIP
-Programm mit CTRL-C beendet werden.
5 Steuern der Ein- und Ausgaben
5.1 Steuern der Konsolenausgabe
Die Anzeige von Informationen auf dem Bildschirm erfolgt oft schnell. dass nicht mitgelesen werden kann. Um dem System mitzuteilen, dass die Ausgabe angehalten werden soll, drücken Sie die CTRL-Taste und gleichzeitig die Taste S. Das CTRL-S-Zeichen bewirkt ein Anhalten der Ausgabe. Die Ausgabe wird fortgesetzt, indem CTRL-Q gedrückt wird. Auch das Drücken der NO SCROLL-Taste hält die Ausgabe an. In der untersten Zeile (25) erscheint invers eine PAUSE-Anzeige. Bei wiederholten Drücken der NO SCROLL-Taste wird die Ausgabe wieder fortgesetzt. Wird während der Pause eine andere Taste als CTRL-Q oder NO SCROLL betätigt, ertönt ein Piepton.
Einige CP/M-Programme (z. B. DIR
oder TYPE
) verwenden automatische seitenweise Ausgabe (paging) auf der Konsole. Das bedeutet, dass bei einer längeren Ausgabe, als ein Bildschirminhalt fassen kann, die Ausgabe bei gefülltem Bildschirm selbstständig angehalten wird. Wenn dies geschieht, erscheint in der untersten Zeile die Aufforderung:
Erst dann wird die Ausgabe wieder fortgesetzt. Diese Option kann mit dem SETDEF
-Befehl ein- oder ausgeschaltet werden.
5.2 Steuern der Ausgabe auf dem Drucker
Mit einem CTRL-Zeichen kann die Konsolenausgabe auch parallel auf einen Drucker geleitet werden (printer echo). Um die gleichzeitige Ausgabe auf den Drucker zu starten, wird CTRL-P eingegeben. Dabei ertönt ein Piepton.
Beendet wir die Druckerausgabe durch erneute Eingabe von CTRL-P. Bei eingeschalteter Druckerausgabe wird jedes Zeichen, das auf dem Bildschirm erscheint, auch auf dem Drucker ausgedruckt. Bei nichtbereitem Drucker wird auch die Bildschirmausgabe solange blockiert, bis der Drucker wieder bereit ist.
Zum Erstellen einer Liste der Dateien, die aich auf einer Diskette befinden, kann der Befehl DIR
mit nachfolgender Eingabe von CTRL-P (vor dem RETURN) verwendet werden.
Auch bei der Druckerausgabe können die Zeichen CTRL-S, CTRL-Q und die Taste NO SCROLL verwendet werden, um die Ausgabe zu steuern. Soll ein Teil nicht mit ausgedruckt werden, wird die Ausgabe mit CTRL-S gestoppt, die Druckerausgabe mit CTRL-P abgeschaltet und die Bildschirmausgabe mit CTRL-Q fortgesetzt. Dabei können die Zeichen CTRL-P, CTRL-S und CTRL-Q beliebig kombiniert werden.
5.3 Zeileneditierung auf der Konsole
Wie bereits erwähnt, können Sie einfache Tippfehler mit den Tasten INST/DEL bzw. CTRL-H korrigieren. CP/M stellt außerdem noch andere Editierfunktionen in Form von CTRL-Zeichen zur Verfügung. Mit diesen CTRL-Zeichen können CP/M-Befehlszeilen anderer Programme editiert werden.
5.4 CTRL-Zeichen zum Editieren
Bei der Verwendung von CTRL-Zeichen, die in der Tabelle aufgeführt sind, können Sie den Cursor nach links und rechts zum Einfügen oder Löschen von Zeichen in der Mitte der editierten Zeile bewegen. Das bedeutet, dass Sie die Zeichen, die rechts von der korrigierten Stelle stehen, nicht neu eintippen müssen.
Im folgenden Beispiel wird gezeigt, wie eine falsche Eingabe von PIP korrigiert werden kann:
Nach der Korrektur kann die RETURN-Taste gedrückt werden, auch wenn der Cursor noch in der Mitte der Zeile platziert ist. Der RETURN-Befehl veranlasst nicht nur die Ausführung der Befehlszeile, sondern speichert die Zeile auch in einen Puffer, so dass sie mit CTRL-W wieder aufgerufen werden kann.
Wenn Sie ein Zeichen in die Mitte der Befehlszeile einfügen, bewegen sich alle Zeichen rechts vom Cursor weiter nach rechts. Wird die Zeile länger als die Bildschirmbreite, verschwinden die Zeichen auf der rechten Bildschirmseite aus dem Bild. Diese Zeichen sind aber nicht gelöscht. Sie werden wieder angezeigt, wenn Sie Zeichen in der Zeile löschen oder CTRL-E drücken, sobald sich der Cursor in der Mitte der Zeile befindet. Mit CTRL-E werden alle Zeichen rechts vom Cursor in die nächste Bildschirmzeile bewegt.
Zeichen | Bedeutung |
---|---|
CTRL-A | Bewegt den Cursor eine Stelle nach links. |
CTRL-B | Bewegt den Cursor an den Anfang der Befehlszeile, ohne in der Zeile eine Veränderung hervorzurufen. Wenn sich der Cursor am Anfang der Zeile befindet, wird er mit CTRL-B auf das Zeilenende bewegt, usw. |
CTRL-C | Unterbricht den Programmablauf und setzt die Laufwerksparameter zurück. |
CTRL-E | Bewirkt einen Zeilenvorschub ohne den Befehl an CP/M zu übergeben. Bewegt den Cursor an den Anfang der nächsten Zeile, ohne die bisherigen Eingaben zu löschen. |
CTRL-F | Bewegt den Cursor um eine Stelle nach rechts. |
CTRL-G | Löscht das Zeichen unter dem Cursor. Der Cursor wird dabei nicht bewegt. Die Zeichen rechts vom Cursor werden um eine Stelle nach links bewegt. |
CTRL-H | Löscht das Zeichen links vom Cursor und bewegt den Cursor um eine Stelle nach links. Die Zeichen rechts vom Cursor werden um eine Stelle nach links verschoben. |
CTRL-I | Bewegt den Cursor zur nächste TAB-Marke. Die TAB-Marken sind automatisch auf jede achte Stelle gesetzt. Hat die gleiche Funktion wie die TAB-Taste. |
CTRL-J | Übergibt die Befehlszeile an CP/M und setzt den Cursor an den Anfang der nächsten Zeile. Hat die gleiche Funktion wie die RETURN-Taste oder CTRL-M. |
CTRL-K | Löscht alle Zeichen rechts vom Cursor. |
CTRL-M | bergibt die Befehlszeile an CP/M und setzt den Cursor an den Anfang der nächsten Zeile. Hat die gleiche Funktion wie die RETURN-Taste oder CTRL-J. |
CTRL-P | Schaltet parallel zur Bildschirmausgabe auch die Druckerausgabe ein. |
CTRL-Q | Die Bildschirmausgabe wird fortgesetzt. |
CTRL-R | Wiederholt die Befehlszeile bis zum Cursor in der nächsten Zeile. An der Cursorposition erscheint ein #-Zeichen, und der Cursor wird um eine Zeile in derselben Spalte nach unten bewegt. |
CTRL-S | Die Bildschirmausgabe wird so lange angehalten, bis CTRL-Q eingegeben wird. |
CTRL-U | Löscht alle Zeichen in der Befehlszeile, setzt ein #-Zeichen an die Cursor-Position und bewegt den Cursor in die nächste Zeile. Mit CTRL-W können alle Zeichen, die links neben dem Cursor in der alten Zeile gestanden haben, in einer neuen Zeile wiederholt werden. |
CTRL-W | Wiederholt die letzte ausgeführte Befehlszeile, ohne sie an CP/M zu übergeben. Der Cursor muss dabei am Anfang der Befehlszeile stehem, sonst wird CTRL-W nicht ausgeführt. Wiederholt wird die letzte mit CTRL-J, CTRL-M, CTRL-U oder RETURN abgeschlossene Zeile. Wenn sich in der Befehlszeile bereits Zeichen befinden, wird mit CTRL-W der Cursor lediglich an das Ende der Zeile bewegt. Mit |
CTRL-X | Löscht alle Zeichen links vom Cursor und bewegt den Cursor an den Anfang der Zeile. Alle Zeichen rechts vom Cursor werden ab Zeilenanfang kopiert. |
CTRL-Z | Dateiendezeichen. |
6 Arbeiten unter CP/M
6.1 Umleitung von Eingaben und Ausgaben
Der Befehl PUT
ermöglicht es, die Ausgabe auf den Bildschirm oder auf den Drucker in eine Diskettendatei umzuleiten. Der GET
-Befehl wird dazu verwendet, die Konsoleneingabe für CP/M oder ein Programm anstelle von der Konsole aus einer Diskettendatei vorzunehmen. Die nachfolgenden Beispiele zeigen einige Möglichkeiten, die sich hinter GET
und PUT
verbergen.
PUT
wird verwendet, um die Ausgabe von der Konsole in eine Diskettendatei so umzuleiten, als ob es die Konsole wäre. Mit PUT
kann z. B. eine Diskettendatei erstellt werden, in der das Inhaltsverzeichnis der Diskette so gespeichert wird, wie es sonst auf dem Bildschirm ausgegeben wird.
Der GET
-Befehl ermöglicht die Verarbeitung von Dateien, die normalerweise über die Tastatur eingegeben werden, aus einer Diskettendatei. Wird diese Datei von CP/M gelesen, muss sie aus normalen CP/M-Befehlen zusammengesetzt sein.
Wenn die Diskettendatei einem Programm als Eingabe dienen soll, muss sie sich aus den vom jeweiligen Programm lesbaren Befehlen und Daten zusammensetzen. Die Eingabedatei darf sowohl CP/M-Befehle als auch Programmeingaben beinhalten.
6.2 Zuordnung logischer Einheiten
Die minimale Commodore-128-CP/M 3.0-Hardware-Konfiguration besteht aus dem Rechner mit Tastatur, Bildschirm und einem Diskettenlaufwerk. Sie können auch andere Einheiten an ihr System anschließen, z. B. einen Drucker oder ein Modem. Die Zuordnung der logischen und physikalischen Einheiten zu den Einheitsnamen sind aus der Tabelle ersichtlich. Sie zeigt gleichzeitig auch die Zuordnung der physikalischen zu den logischen Einheiten beim Commodore 128 an.
Mit dem DEVICE
-Befehl kann die Zuordnung geändert werden. AUXIN
und AUXOUT
können beispielsweise einer seriellen Schnittstelle (6551) zugeordnet werden, an die ein Modem angeschlossen werden kann.
Logischer Name der Einheit | Einheiten Typ | Phsikalische Zuordnung der Einheit |
---|---|---|
CONIN: | Konsoleneingabe | KEYS (Tastatur) |
CONOUT: | Konsolenausgabe | 80COL oder 40COL (Bildschirm) |
AUXIN: | Externe Eingabe | – |
AUXOUT: | Externe Ausgabe | – |
LST: | List Ausgabe | PTR1 oder PTR2 (Drucker) |
Bei CP/M auf dem C128 ist eine physikalische Einheit 6551 vorhanden. Diese Einheit emuliert ein ACIA-IC und kann als serielle Schnittstelle verwendet werden.
Durch entsprechende Zuordnung mit dem DEVICE
-Befehl kann diese Einheit als Modem- oder Druckeranschluss dienen.
6.3 Suchen von Programmdateien
Wenn ein nicht-residenter Befehl eingegeben wird, sucht CP/M auf dem aktuellen oder angegebenen Laufwerk nach einer Datei mit diesem Namen und dem Dateityp COM. Hierbei wird zuerst im aktuellen Benutzerbereich gesucht und dann im Benutzerbereich 0 nach einer gleichnamigen Datei mit dem SYS-Attribut. Sobald die entsprechende Programmdatei gefunden worden ist, wird der Inhalt dieser Datei in den Speicher (TPA) geladen und das Programm ausgeführt. Nach Ablauf des Programms meldet sich CP/M wieder mit der Bereitschaftsmeldung und erwartet die Eingabe eines weiteren Befehls. Wurde die angegebene Datei nicht gefunden, wiederholt CP/M die Befehlszeile mit einem angehängten ?
und wartet ebenfalls auf nächste Befehlseingabe.
6.4 Ausführen von Mehrfachbefehlen
In den bisherigen Beispielen hat CP/M immer nur einen Befehl ausgeführt. CP/M kann aber auch eine Befehlsfolge abarbeiten. Die Befehlsfolge kann entweder in der Befehlszeile eingegeben oder als eine Diskettendatei mit der Typenbezeichnung SUB auf einer Diskette abgespeichert werden. Die in einer SUB-Diskettendatei abgespeicherten Befehlsfolge kann mit dem SUBMIT
-Befehl angearbeitet werden.
6.5 Unterbrechen des Programmablaufs
Das Zeichen CTRL-C kann zum Unterbrechen des Programmablaufs oder zum Rücksetzen der Diskettenlaufwerke verwendet werden.
Viele Programme lassen sich in ihrem Ablauf mit der Eingabe von CTRL-C unterbrechen. Nur wenn versucht wird, einen Programmablauf während der Datenausgabe auf den Bildschirm zu unterbrechen, muss zuerst die Ausgabe mit CTRL-S angehalten und erst dann CTRL-C eingegeben werden.
6.6 HELP-Programm
Mit dem transienten Befehl HELP
kann man aus einer Hilfsdatei Informationen über die meisten CP/M-Befehle, deren Eingabe und deren Bedienung auf den Bildschim bringen. Um das Programm aufzurufen, genügt es,
einzugeben. Sie können auch die HELP-Taste drücken und anschließend RETURN bestätigen.
Auf dem Bildschirm erscheint ein Verzeichnis der abrufbaren Informationen:
Um Beispielsweise Informationen zum Programm PIP
zu bekommen, geben Sie ein:
Folgendes wird angezeigt:
Mit HELP
kann man schnell benötigte Informationen über die internen und transienten CP/M-Befehle abrufen. Wenn Sie Informationen gezielt abrufen wollen, können Sie den Programmnamen in der Befehlszeile eingeben, und die benötigten Information wird sofort angezeigt:
Sie können mit dem HELP
-Befehl auch die CP/M-Befehlsbeschreibungen durchblättern, um ihre Kenntnisse über CP/M zu vertiefen.
7 Erweiterungen des CP/M 3.0 beim Commodore 128
Beim CP/M 3.0 auf dem Commodore 128 sind dem Betriebssystem einige Erweiterungen zugefügt, die sonst in CP/M nicht enthalten sind. Diese Erweiterungen werden hier im folgenden beschrieben.
7.1 Tastaturerweiterungen
Jeder Taste kann ein anderer Code bzw. andere Bedeutung als ursprünglich zugeordnet werden. Hiervon sind jedoch folgende Tasten ausgenommen:
- Linke SHIFT-Taste
- Rechte SHIFT-Taste
- COMMODORE-Taste
- CONTROL-Taste
- RESTORE-Taste
- 40/80-Taste
- ASCII/DIN-Taste
Um die Belegung einer Taste zu definieren, gibt es bei CP/M zusätzliche Tastaturfunktionen. Um diese Funktionen aufzurufen, müssen mehrere Tasten gleichzeitig gedrückt werden – zuerst die CTRL- und die rechte SHIFT-Taste und dann nach Bedarf eine der folgenden Tasten:
Taste | Bedeutung |
---|---|
CURSOR nach LINKS | Tastenbelegung definieren |
CURSOR nach RECHTS | Funktionstasten mit String belegen |
ALT | Tasten-Modus umschalten |
7.2 Tastenbelegung definieren
Der beim Tastendruck erzeugte Zeichencode kann vom Benutzer umdefiniert werden. Jeder Taste sind, je nach dem, welche Umschalttaste gleichzeitig gedrückt wird, vier mögliche Definitionen zugeordnet: normal, Alpha-Shift, Shift und Control.
Normal-Modus | Taste wird nur allein gedrückt. |
Alpha-Shift-Modus | Die Zuordnung der Tastenbelegung in diesem Modus wird mit der Commodore-Taste ein- und ausgeschaltet. Danach erscheint ein inverses Feld in der untersten Bildschirmzeile. Die erste Taste, die jetzt gedrückt wird, ist die zu definierende Taste. Die bisherige Zuordnung wird als eine Hex-Zahl in dem inversen Feld angezeigt. Durch die Eingabe einer anderen Hex-Zahl kann der Taste die dieser Zahl eintsprechende Zuordnung zugewiesen werden. Nachfolgend eine Übersicht der möglichen Tastenzuordnungen: |
Code | Bedeutung |
---|---|
00H | Null (keine Auswirkung) |
01H bis 7FH | Normaler ASCII-Code |
80H bis 9FH | Zugewiesene Strings |
A0H bis AFH | 80-Zeichen-Bildschirm: Zeichenfarbe |
B0H bis BFH | 80-Zeichen-Bildschirm: Hintergrundfarbe |
C0H bis CFH | 40-Zeichen-Bildschirm: Zeichenfarbe |
D0H bis DFH | 40-Zeichen-Bildschirm: Hintergrundfarbe |
E0H bis EFH | 40-Zeichen-Bildschirm: Rahmenfarbe |
F0H | Disk-Status-Anzeige ein- oder ausschalten |
F1H | Pause ein- oder ausschalten |
F2H | Nicht definiert |
F3H | Nicht definiert |
F4H | 40-Zeichen-Bildschirm: horizontal rollen |
F5H bis FFH | Nicht definiert |
7.3 Tastenbelegung mit Strings belegen
Diese Funktion ermöglicht es, einer einzigen Taste nicht nur ein Zeichen, sondern auch eine Zeichenfolge (String) zuzuordnen. Die eingegebene Zeichenfolge wird in einem langen inversen Feld in der untersten Bildschirmzeile angezeigt.
Jede gedrückte Taste wird mit ihrer Bedeutung in den String übernommen. Damit können auch CTRL- und andere Steuerungszeichen in den String mit eingegeben werden. Um den Cursor innerhalb der eingegebenen Zeichenfolge zu bewegen und in der Zeile zu editieren, kann wie folgt verfahren werden: Zuerst sind die CTRL- und die rechte SHIFT-Taste gedrückt zu halten und dann gleichzeitig eine der folgenden Tasten zu betätigen:
Taste | Bedeutung |
---|---|
RETURN | String-Definition beenden |
+ (obere Reihe) | Leerstelle einfügen |
– (obere Reihe) | Zeichen unter Cursor löschen |
CRSR links | Cursor nach links |
CRSR rechts | Cursor nach rechts |
7.4 ALT-Modus
Der ALT-Modus kann entweder ein- oder ausgeschaltet werden. Nach dem CP/M-Start ist er ausgeschaltet. Dieser Modus ermöglicht die Aussendung von 8-Bit-Zeichen.
7.5 Der CP/M-Bildschirm
Der CP/M-Bildschirm emuliert ein ADM31-Terminal. In der Tabelle sind die Bildschirmsteuerfunktionen, die auch den Funktionen des älteren ADM3A entsprechen, aufgeführt. Diese Funktionen sind eine Untermenge der ADM31-Funktionen. Die weiteren ADM31-Funktionen sind in den nachfolgenden Tabellen aufgeführt.
Funktion | Bedeutung |
---|---|
CTRL-G | Klingelzeichen |
CTRL-H | Cursor nach links |
CTRL-J | Cursor nach unten |
CTRL-K | Cursor nach oben |
CTRL-L | Cursor nach rechts |
CTRL-M | Cursor an den Zeilenanfang setzen |
CTRL-Z | Cursor Home und Bildschirm löschen |
ESC = RC | Cursor an die Position RC setzen. R bestimmt die Zeile (Leerzeichen bis Ziffer 8) und C die Spalte (Leerzeile bis Buchstabe O) in Bezug auf die linke obere Ecke des Bildschirms. |
ESC T oder t | Löschen bis Zeilenende |
ESC Y oder y | Loschen bis Bildschirmende |
ESC : oder * | Cursor Home und Bildschirm löschen (auch Statuszeile) |
ESC Q | Zeichen einfügen |
ESC W | Zeichen löschen |
ESC E | Zeile einfügen |
ESC R | Zeile löschen |
ESC ESC ESC Farbe# | Setzt die Bildschirmfarbe fest. Die Farbnummern liegen zwischen 0 und 15 und haben folgende Bedeutung: |
20H bis 2FH | Zeichenfarbe |
30H bis 3FH | Hintergrundfarbe |
40H bis 4FH | Rahmenfarbe (nur bei 40 Zeichen) |
Funktion | Bedeutung |
---|---|
ESC > | Halbe Intensität |
ESC < | Volle Intensität |
ESC G4 | Inverse Darstellung |
ESC G3 | Unterstreichen einschalten (keine ADM31 Funktion) |
ESC G2 | Blinken einschalten |
ESC G1 | Alternativen Zeichensatz anwählen (keine ADM31-Funktion) |
ESC G0 | Alle ESC-G-Attribute ausschalten |
8 CP/M 3.0-Befehlsübersicht
8.1 Struktur der CP/M-Befehle
Format: | A>Befehlsschlüsselwort |
Zweck: | Eine CP/M-Befehlszeile wird aus einem frei wählbaren Befehlsargument zusammengesetzt und durch Drücken der RTURN-Taste (carriage return |
8.2 CP/M-Befehlsarten
CP/M unterscheidet zwei Arten von Befehlen, die sog. residenten und die transienten Befehle:
Residente (built-in) Befehle: Interne Befehle, die im CP/M-Betriebssystem implementiert und immer abrufbar sind.
Transiente (externe) Befehle: Programme, die von der Diskette nachgeladen werden.
CP/M kennt sechs interne und über zwanzig transiente Befehle, die zum Standardlieferumfang von Digital Research gehören. Weitere Dienstprogramme, die unter CP/M lauffähig sind, können mitverwendet werden. Sie können auch mit Hilfe der bereitstehenden CP/M-Dienstprogramme eigene Programme erstellen.
8.3 Residente Befehle
Befehl | Bedeutung |
---|---|
DIR | Zeigt alle Dateinamen im Diskettenverzeichnis mit Ausnahme der mit dem SYS-Attribut markierten Dateien an. |
DIRSYS | Zeigt die Namen der Dateien, die mit SYS-Attribut gekennzeichnet sind, an. |
ERASE | Löscht den angegebenen Dateinamen aus dem Disketteninhaltsverzeichnis und kennzeichnet den belegten Platz wieder als frei. |
RENAME | Ändert den Dateinamen. |
TYPE | Zeigt den Inhalt von Textdateien auf dem Bildschirm an. |
USER | Wechselt zwischen verschiedenen Benutzerbereichen. |
8.4 Transiente (externe) Befehle
Diese Befehle sind in der nachfolgenden Tabelle aufgelistet. Beim Aufruf dieser Befehle lädt CP/M die entsprechende Programmdatei von der Diskette in den Speicher und stellt alle weiteren Eingaben von der Befehlszeile dem aufgerufenen Programm in einem Puffer zu Verfügung.
Auch einige der internen Befehle existieren in einer erweiterten Form nur als transiente Befehle.
Wir finden hier die Befehle, DIR
, ERASE
, RENAME
und TYPE
.
Wenn versucht wird, diese Befehle ohne Eingabe einer Dateispezifikation oder mit einem erweiterten Argument einzugeben, ohne die entsprechende Diskette im aktuellen Laufwerk zu haben, meldet das System
als Zeichen, dass zum Ausführen diesen Befehls die entsprechende Diskettendatei erforderlich ist und auf der Diskette nicht gefunden werden konnte.
Das Wort BEFEHL steht hier für das entsprechende Befehlswort.
Beispiel:
erscheint, wenn sich im Laufwerk A keine Diskette mit der Datei RENAME.COM befindet.
Befehl | Bedeutung |
---|---|
COPYSYS | Erzeugt eine neue bootfähige Diskette. |
DATE | Setzt oder zeigt Datum Zeit an. |
DEVICE | Ordnet logische CP/M-Einheiten einer oder mehreren physikalischen Einheiten zu, ändert Baudrate und Übertragungsprotokoll oder setzt die Bildschirmgröße neu. |
DIR [o] | Zeigt das Disketteninhaltsverzeichnis und die Dateiattribute an. |
DUMP | Zeigt den Inhalt einer Datei im ASCII- und Hexadezimalformat an. |
ED | Erstellt und modifiziert Textdateien. |
ERASE | Wird zum löschen von Dateien mit den Platzhaltern * und ? verwendet. |
FORMAT | Formatiert Disketten und erzeugt einen Boot-Sektor. |
GET | Die Eingabe erfolgt vorübergehend aus einer Diskettendatei anstelle von der Tastatur. |
HELP | Erklärt die CP/M-Befehle und deren Anwendung. |
HEXCOM | Erzeugt aus einer MAC-Ausgabedatei ein lauffähiges Programm. |
INITDIR | Initialisiert das Disketteninhaltsverzeichnis für die Aufnahme von Zeit- und Datumsmarkierungen. |
LIB | Bearbeitet Bibliotheksdateien der Typbezeichnung LIB. |
LINK | Bindet REL-Programmmodule zu lauffähigen Programmen zusammen. |
MAC | bersetzt Assembler-Quelldateien in Maschinencode. |
PATCH | Modifiziert CP/M-Systemdateien. |
PIP | Kopiert und kombiniert Dateien. |
PUT | Leitet vorübergehend die Konsolen- oder Druckerausgabe in eine Diskettendatei um. |
RENAME | ndert den Namen einer Diskettendatei, in Verbindung mit den Platzhalterzeichen auch mehrerer Dateien gleichzeitig. |
RMAC | bersetzt Assembler-Quelldateien in verschiebbare Programmmodule. |
SAVE | Kopiert Speicherinhalte in eine Diskettendatei. |
SET | Setzt Dateioptionen, Disketten-Labels, Dateiattribute, Datums- und Zeitmarkierungen und den Passwort-Schnutz. |
SETDEF | Setzt Systemoptionen, auch Laufwerkssuchverkettungen. |
SHOW | Zeigt Disketten und Diskettenlaufwerkseigenschaften an. |
SID | Testet Programme und ermöglicht das Auffinden von Programmablauffehlern. |
SUBMIT | Führt automatisch mehrere Befehle aus. |
TYPE | Gibt den Inhalt einer oder mehrerer (bei der Verwendung von * und ?) Testdateien auf dem Bildschirm (und Drucker, wenn angewählt) aus. |
XREF | Erstellt Referenztabellen der ariablen von Assemblerprogrammen. |
9 CP/M 3.0-Befehlsbeschreibungen
In den Befehlsbeschreibungen in der Bedienungsanleitung wird folgende Syntax, wie in der folgenden Tabelle aufgeführt, verwendet:
Zeichen | Bedeutung |
---|---|
{ } | Geschweifte Klammern schließen frei wählbare Befehlsteile ein. |
| | Senkrechter Strich trennt alternative Befehlsteile in einer Befehlszeile voneinander. |
Steht für die RETURN-Taste (carriage return). | |
↑ | Steht für die CONTROL-Taste. |
n | Ersetzt eine Zahl. |
s | Ersetzt eine Zeichenkette. |
o | Ersetzt eine Option oder Liste von Optionen. |
[ ] | Eckige Klammern schließen eine optionsliste ein. |
( ) | Runde Klammern schließen einen Bereich von Optionen innerhalb einer Optionsliste ein. |
RW | Schreib/Lese-Attribut, d. h. kein Schreibschutz (Read-Write), das gegenteil von RO. |
RO | Schreibschutzattribut (Read-Only), das Gegenteil von RW: |
SYS | Systemattribut, das Gegenteil von DIR. |
DIR | Directoryattribut (Disketteninhaltsverzeichnis), das Gegenteil von SYS. |
. . . | Das vorstehende Element kann so oft wiederholt werden, wie es gewünscht ist. |
* | Jokerzeichen: Dieser Platzhalter ersetzt den ganzen oder einen Teil eines Dateinamen bzw. einer Typenbezeichnung. |
? | Jokerzeichen: Dieser Platzhalter ersetzt ein beliebiges einzelnes Zeichen an der Stelle in einem Dateinamen bzw. einer Typenbezeichnung, an der es steht. |