ROMAN WEISS
CP/M
Staendig im Griff
Dr. Alfred Huethig Verlag Heidelberg (C) 1986
INHALTSVERZEICHNIS
Vorwort...............5
1.0 Das Betriebssystem CP/M...9
1.1 Systemkomponenten und Speicher
organisation..............10
1.2 Kommando-Behandlung.......12
1.3 Steuerzeichen unter CP/M..13
1.4 Disketten, Laufwerke und dateien
..........................15
2.0 DIE RESIDENTEN KOMMANDOS..19
2.1 DIR/DIRS..................20
2.2 ERA.......................23
2.3 REN.......................24
2.4 SAVE......................25
2.5 TYPE......................26
2.6 USER......................27
3.0 DIE WICHTIGSTEN TRANSIENTEN
KOMMANDOS.................29
3.1 STAT/ SHOW................30
3.2 PIP.......................37
3.3 FORMAT....................44
3.4 COPYDISK..................46
3.5 LDCOPY/ SYSGEN/ COPYSYS...47
3.6 HELP......................48
3.7 TOD/ DATE.................51
3.8 DUMP......................53
3.9 SUBMIT/ XSUB..............54
3.10ASM/ MAC..................57
3.11LOAD/ HEXCOM..............61
3.12GENCOM/ LMCMD.............62
3.13ED........................65
3.14DDT.......................78
================================================================
1.0 Das Betriebssystem CP/M
In geraffter Form wird Ihnen im folgenden Kapitel das Betriebs-
system CP/M vorgestellt.
-Systemkomponenten
-Kommandobehandlung
-Steuerzeichen
Disketten, Laufwerke und Dateien
1.1 Systemkomponenten
CP/M setzt sich aus drei Komponenten zusammen:
-BIOS(Basis-Input/Output-System)
-BDOS(Basis-Disk-Operating-System)
-CCP(Consol-Command-Prozessor)
BIOS, ermoeglicht die Anpassung von CP/M an die unterschied-
lichsten Rechnerumgebungen.Es umfasst den Input/Output ueber die
BDOS-Peripherie-Kanaele, die Verbindung zu den Disketten-und
Festplattenlaufwerken, die Schnittstelle zu BDOS bzw. zu CP/M-
Programmen und den Pufferspeicher fuer BDOS-Aufgaben.
BDOS ist ein Programmpaket, das U.A. folgende Aufgaben loest:
-Ein-Ausgaben ueber Konsole,Drucker usw.
-Dateiverwaltung,
-Direktory-Veerwaltung,
-Initialisierung,
-Ausgaben ueber den Systemzustand,
-sonstige Hilfsaufgaben.
BDOS wird bei jedem Kalt- bzw. Warmstart automatisch geladen.
Warmstart: Ein Warmstart wird durch die gleichzeitige Betaeti-
gung der [CONTROL]-Taste und der [C]-Taste (dargestellt durch ^C)
ausgeloest.
Die Zeichenkombination ist jedoch nur dann wirksam, wenn
sie als erst Zeichenfolge nach der Bereitschaftsanzeige einge-
geben wird. Beim Warmstart wird von einem Ladeprogramm im
BIOS-Teil das BDOS mit dem CCP in den den Speicher (die TPA) ge-
lesen.
CCP stellt die Schnittstelle zwischen dem Benutzer (USER) und
dem Rechner dar. Er nimmt Befehle von der Tastatur entgegen,
meldet sich auf dem Bildschirm mit dem Bereitschaftszeichen A>
und leitet entsprechende Aktivitaeten ein.
Diese Aktivitaeten bestehen darin, den empfangenen Befehl in ei-
nem Befehlspuffer abzulegen und zu ueberpruefen, ob es bei
diesem Befehl um ein residentes oder trasientes Kommando handelt.
Entspricht die Eingabe den CP/M-Regeln, wird das Programm durch-
gefuehrt.
CCP wird bei jedem Kalt- bzw. Warmstart (^C) automatisch geladen.
CCP akzeptiert die folgenden residenten Kommandos:
DIR(DIRS), ERA, REN, TYPE, (SAVE), USER und die Laufwerksangabe.
Der dem Rechner insgesamt zur Verfuegung stehende Arbeitsspei-
cher wird in 4 Bereiche unterteilt. Drei davon nehmen CP, BIOS
und BDOS ein. Der vierte Bereich ist die TPA (Transient Program
Area) und steht, bis auf eine Ausnahme, dem Anwender zur Verfue-
gung. Diese Ausnahme ist die ZERO PAGE (die Null-Seite), die von
Adresse 0000H - 0100H reicht und durch CP/M fuer interne Aufga-
ben (z.B. den Boot(Warmstart), Sprungadressen, Kommandospeicher
usw.) benutzt wird.
Die durch CCP in den TPA-Bereich geladenen Dateien muesen vom
Dateityp COM (bzw. CMD) sein.
1.2 KOMMANDO-BEHANDLUNG
Bei der Eingabe von Kommandos beachten Sie bitte folgende Punkte
Alle Kommandos werden durch Betaetigung der Return-Taste abge-
schlossen.
Optionen hinter einem Schluesselwort - wie z.B. die Angabe einer
Dateispezifikation - muessen durch ein Leerzeichen vom Kommando
getrennt werden.
Hinter dem Bereitschaftszeichen (dem Systempromt z.B. A>) kann
die Kommandozeile direkt eingegeben werden. CP/M vertraegt je-
doch auch Leerzeichen zwischen Promt und Kommandozeile.
Kommandos und Kommando-Optionen koennen in unterschiedlichster
Schreibweise eigegeben werden: in Kleinschrift, in Grosschrift
oder gemischt. CP/M wandelt alles in Grosschrift um!
1.3 STEUERZEICHEN UNTER CP/M
[BS] - Loescht das letzte Zeichen auf Bildschirm und im Eingabe-
puffer.
^C - Wird diese Zeichenkombination am Anfang einer Zeile ein-
gegeben, so bewirkt sie einen Warmstart und bricht das
laufende Programm ab.
[CR] - Das ist die Taste [CARRIAGE RETURN] oder Kombination ^M.
Sie bewirkt das Beenden der Puffereingabe und das Ueber-
geben der Daten in das Programm.
[DEL]- Loescht das letzte eingegebene Zeichen.
^E - Bringt Cursor in eine neue Zeile.
^I - Bewegt den Cursor zur naechsten Tabulatorposition.
[LF] - Das ist die Taste [LINE FEED] oder die Tastenkombination
^J. Sie bewirkt einen Zeilenvorschub.
^P - Schaltet den Drucker mit dem Bildschirm parallel (ueber
den LST-Kanal). Die Rueckschaltung erfolgt entweder durch
nochmaliges ^P oder einen Warmstart.
^R - Bricht die laufende Anzeige mit einem (#) ab und wieder-
holt den tatsaechlichen Inhalt des Eingabepuffers auf der
naechsten Zeile.
^S - Haelt eine laufende Ausgabe an, bis eine beliebige andere
Taste die Ausgabe wieder fortsetzt.
^U - Loescht die zuletzt eigegebene Zeile und zeigt dieses
durch ein (#) am Zeilenende an. Anschliessend kann in der
naechsten Zeile eine neue Eingabe erfolgen.
^X - Loescht die zuletzt eingegebene Zeile auf dem Bildschirm.
1.4 DISKETTEN, LAUFWERKE UND DATEIEN
Disketten gibt es einseitig (single side, SS) oder beidseitig
(double side, DS) beschreibbar, mit einfacher (single density,
SD) oder doppelter (douple density, DD) Schreibdichte. Das
haengt vom jeweiligen Laufwerk ab.
Auf der Diskette befindet sich eine Anzahl von Spuren, von denen
die aeusseren zwei Spuren fuer das System benoetigt werden. Zum
Kopieren dieser Systemspuren (und damit zum Erstellen von Sys-
temsidketten-Kopien) gibt es einige, menuegesteuerte Programme;
das setzt jedoch eine formatisierte Diskette voraus. Formatisie-
ren bedeutet, eine Diskette der Rechnerumgebung anzupassen,
indem die Reihenfolge der Schreib-Lese-Sektoren, entsprechend
dem Zugriffs-Zyklus, festgelegt wird. Das Formatisierungspro-
gramm ist abhaengig vom Rechnerhersteller und kann daher unter-
schiedlich benannt sein.
Zu beachten ist lediglich, das die Diskette nicht schreibge-
schuetzt sein darf.
Achten Sie also bei der Diskette, die wiederverwendet werden
soll darauf, dass die Schreibschutzkerbe (an der linken Seite
der Diskette) nicht zugeklebt ist. Disketten sind zu schuetzen
vor: VERSCHMUTZUNG
STATISCHE AUFLADUNG
MAGNETISCHEN EINFLUESSEN
UND
MECHANISCHEN BESCHAEDIGUNGEN!!
Die CP/M-Dateistruktur erlaubt ab der Version 2.0 die Anwahl von
maximal 16 Laufwerken mit unterschiedlicher Speicherkapazitaet.
Die Laufwerksbezeichnung wird durch Buchstaben im Bereich A-P
vorgenommen.
Das voreingestellte Laufwerk, d.h. das Laufwerk, das nach dem
Systemstart von CP/M automatisch angewaehlt wird, hat die Be-
zeichnung A und meldet sich auf dem Bildschirm mit der Bereit-
schaftsanzeige in der Form: A>
Ein Laufwerkswechsel kann auf zwei Arten durchgefuehrt werden:
1. Direktumschaltung durch Angabe des Kennbuchstabens fuer das
einzuwechselnde Laufwerk, abgeschlossen durch einen Doppel-
punkt (:) ; A>B:
2. Durch die Angabe eines anderen Laufwerkes in der Kommandozei-
le, um nur zeitweise irgendwelche Aktivitaeten auf eienem ande-
ren Laufwerk durchzufuehren. A>DIR B:
Da jeder Eintrag in die Directory in der Standartversion 32 Byte
benoetigt, kann das Inhaltsverzeichnis max. 64 Eintraege aufneh-
men!
Die Dateispezifikation unterliegt folgenden Konventionen:
[Laufwerksbezeichnung] = 1 Buchstabe zwischen A-P
[Dateiname] = 1-8 Zeichen, mit Ausnahme der unten
aufgefuehrten Sonderzeichen.
[Dateityp] = 0-3 Zeichen, Ausnahme siehe oben.
Systemabhaengige Sonderzeichen
------------------------------
[ ] . , ; : = ? * ( ) ! &> + - $ / \
Einige uebliche Dateitypen
ASM = ASM-80-Quell-Programm
A86 = ASM-86-Quell-Programm
BAK = Sicherungsdatei
BAS = BASIC-Quell-Programm
CMD = 8086/8088-MC-Programm
COM = 8080/8085-MC-Programm
FOR = FORTRAN-Quell-Programm
HEX = Uebersetztes ASM-80-Programm im Hexa-Format
HLP = Text-datei fuer das Programm HELP
H86 = Uebersetztes ASM-86-Programm im Hexa-Format
LIB = Bibliotheks-Datei
MAC = Makroassembler-Quell-Programm
PRN = Assembler-listing (Referenz)
SUB = Liste von Kommandos, die durch SUBMIT durchgefuehrt werden
$$$ = Temporaere Datei
Dateiname und Dateityp werden durch einen Punkt (.) getrennt
angegeben:
KUNDNAME.DAT
PROGRAM1.FOR
SPIRALE.BAS
Die Laufwerksbezeichnung (falls erforderlich) wird dem Datei-
namen - getrennt durch einen Doppelpunkt - vorangestellt:
B:KUNDNAME.DAT
C:BATCHKOM.SUB
Bei der Benutzung einiger Kommandos darf der Dateiname bzw. Da-
teityp mit Maskenzeichen angegegeben werden. Als Maskenzeichen
stehen in CP/M das Fragezeichen (?) und das Sternchen (*) zur
Verfuegung. Dabei ersetzt das Fragezeichen ein unbekanntes Zei-
chen und das Sternchen beliebig viele Zeichen.
A>DIR *.COM
A>DIR KUN???.*
2.0 DIE RESIDENTEN KOMMANDOS
Das nachfolgende Kapitel beschreibt die vom CCP "verstandenen"
6 residenten Kommandos.
- DIR/DIRS Inhaltsverzeichnis listen
- ERA Loeschen von Dateieintraegen
- REN Umbenennen von Dateien
- SAVE Speicherbereich in eine Datei ablegen
- TYPE Listen von Dateiinhalten
- USER Benutzerbereich wechseln/anzeigen
2.1 DIR/DIRS
Aufgabe: Mit DIR: Anzeigen des Inhaltsverzeichnisses aller
Dateien, deren Attribut DIR ist.
Mit DIRS: Anzeigen des Inhaltsverzeichnisseses aller
Dateien, deren Attribut SYS ist.
Kommandobeispiele:
A>DIR
A>DIR B:
A>DIR TEST???.BAK
A>DIR B:CBATEST.BAS
A>DIRS *.COM
Optionen: Nur unter CP/M-Plus sind zusaetzlich nachfolgende Op-
tioen erlaubt. Sie koennen in einen Liste zusammen-
gefasst werden, untereinander getrennt durch ein Leer-
zeichen oder ein Komma, eingeschlossen durch eckige
Klammern.
ATT Zeigt die durch den Benutzer definierbaren Dateiattri-
bute F1, F2, F3 und F4 an.
DATE Zeigt die Dateien mit ihrem Zeit- und Datumstempel an.
Wenn der Zeit- und Datumstempel nicht aktiv ist,
bringt DIR die Mitteilung: Date and Time Stamping
inactive.
DIR Zeigt nur Dateien an, die das DIR-Attribut haben.
DRIVE=ALL Zeigt die Dateien von allen aktiven Laufwerken an.
Anstelle von DRIVE kann auch DISK geschrieben werden.
DRIVE=(A,B) Zeigt die Dateien der spezifizierten Laufwerke an.
DRIVE=[LW] Zeigt die Dateien des bezeichneten Laufwerkes[LW] an.
EXCLUDE Zeigt alle Dateien des voreingestellten Laufwerkes
und Nutzerbereiches an, die nicht der maskierten Da-
teispezifikation in der Kommandozeile entsprechen.
FF Sendet ein FF zum Drucker, wenn dieser vorher durch
^P aktiviert worden ist. Wenn die LENGTH=[n]-Option
ebenfalls aktiviert wird, loest DIR alle [n]-Zeilen
den Seitenvorschub aus.
FULL Zeigt den Namen der Datei und ihre Groesse an.
LENGTH=[n] Zeigt [n]-Zeilen an. Die n-Angabe muss zwischen
5-65536 liegen.
MESSAGE Zeigt die Laufwerkskennzeichnung und die Benutzer-num-
mer an, die gerade durchsucht wird.
NOPAGE Laesst das Listing auf dem Bildschirm durchlaufen.
NOSORT Zeigt die Dateien in der Reihenfolge des Auffindens
auf der Disk an.
RO Zeigt nur Dateien mit RO-Attribut an.
RW Zeigt nur Dateien mit RW-Attribut an.
SIZE Zeigt Dateinamen und Dateigroese in Kbyte an.
SYS Zeigt nur Dateien mit SYS-Attribut an.
USER=ALL Zeigt alle Dateien unter allen Benutzer-Numern des
voreingestellten Laufwerkes an.
USER=[Nr] Zeigt alle Dateien der mit [Nr] spezifizierten Benut-
zer-Nummer.
USER=(0,1) Zeigt ale Dateien der angegebenen Benutzernumern an.
Optionsbeispiele:
-----------------
A>DIR [USER=ALL,DRIVE=ALL,SYS] *.PLI *.COM *.ASM
A>DIR [E=ALL user=all]TESTFILL.BOB
A>DIR [DRIVE=C] (USER 4 ist aktiv)
ACHTUNG In der Dateinamens- und Dateityp-Angabe ist die Ver-
wendung der Maskenzeichen erlaubt; nicht jedoch bei
der Laufwerksangabe!! Es ist nur die Angabe einer (!)
Optionsliste erlaubt! In der Standartversion sind
nicht mehr als 64 Directory-Eintraege moeglich!
2.2 ERA
Aufgabe: Loeschen von einem oder mereren Dateinamen aus dem In-
haltsverzeichnis der angegebenen oder der aktiven Diskette
(Laufwerk).
Kommandobeispiele:
A>ERA KUNDEN.DAT
A>ERA B:KUNDE??.*
A>ERA C:TEST.TXT
Optionen: keine
Achtung: Maskenzeichen koennen bei der Angabe des Dateinamens
und des Dateityp verwendet werden. Bei der Maskie-
rungsangabe *.* (also alles loeschen "fragt" ERA
zurueck
ALL(Y/N)?
so dass Sie noch Gelegenheit haben, dieses "pauschale"
Loeschen zurueckzunehmen. Geloescht werden kann immer
nur im benutzten USER-Bereich! Entspricht kein Datei-
name der Maskierung in Ihrer Spezifikation, so erfolgt
die Meldung:
NO FILE
2.3 REN
AUfgabe: Umbenenne vorhandener Dateien.
Kommandobeispiele:
A>REN TESTNEU.ASM=B:TEST.ASM
A>REN B:DELTA.BAS=A:TEST.BAS
A>REN NEUASM.A86=ALTASM.A86
B>REN A:NEU.PAS=ALT.PAS
B>REN A:NEU.PAS=A:ALT.PAS
Optionen: keine
Achtung: Rechts vom Gleichheitszeichen (=) steht der Name der
vorhandenen Datei, links der neue Name dieser Datei.
Maskierungsangaben sind nicht zugelassen!
Werden Laufwerksangaben gemacht, so muessen diese auf
beiden Steiten des Gleichheitszeichens identisch sein!
Wenn die Dateispezifikation rechts vom
Gleichheitszeichen nicht gefunden wird (bzw.
nicht existiert) meldet REN:
NO FILE
Wurde die links vom Gleichheitszeichen stehende Datei-
spezifikation bereits im Inhaltsverzeichnis (Directory
) vorgefunden, so meldet REN:
FILE EXIST
Bei dem Versuch, eine schreibgeschuetzte Datei umzube-
nennen, erfolgt die Fehlermeldung:
Bdos Err On [Laufwerk]:File R/O
2.4 SAVE
Aufgaben: Speichern von Teilbereichen der TPA in eine Disketten-
Datei. Es werden n Speicherseiten a 256 Byte, begin-
nend ab, 0100H, in die angegebene Datei gespeichert.
Die Seitenangabe n hat dezimal zu erfolgen.
Kommandobeispiele:
SAVE 3 TEST.COM
SAVE 10 B:TEST.COM
Optionen: keine
Achtung: Unter CP/M-86 gibt es dieses Kommando nicht. Dort ist
es Bestandteil des Kommandos DDT!
Unter CP/M-Plus ist der Anfang und das Ende des Spei-
cherausschnittes frei waehlbar. Daher wird die Angabe
des Speicherumfangs auch hexadezimal gemacht. SAVE
laeuft unter CP/M-Plus im Dialog.
2.5.TYPE
Aufgabe: TYPE (Display File) zeigt den Inhalt einer Zeichen-Da-
tei (Text-Datei) auf dem Bildschirm.
Kommandobeispiele:
A>TYPE BRIEF.TXT
A>TYPE B:DELTA.BAS
Optionen: keine
Achtung: Maskenzeichen sind nicht erlaubt!
Die durchlaufende Anzeige kann durch die Eingabe eines
beliebigen Zeichens unterbrochen werden.
Wird die angegebene Datei nicht gefunden, so meldet
TYPE:
NO FILE
2.6 USER
Aufgabe: Anzeigen der laufenden User (Benutzer)-Nummer oder
wechseln in andere User-Bereiche.
Kommandobeispiele:
USER
USER 1
USER 15
Optionen: keine
Achtung: Zugelassen sind 16 Benutzerbereiche mit den User-Num-
mern 0 bis 15. Wenn CP/M gestartet wird, ist die lau-
fende User-Nummer Null. Dateien, die unter dieser
User-Nummer abgelegt werden, sind nicht generell unter
anderen User-Nummern verfuegbar. Zugriff haben Sie auf
solche Dateien nur, wenn Sie mit dem SYS-Attribut ver-
sehen sind (durch das Kommando STAT), oder durch das
PIP-Kommando mit dem Parameter G.
Beachten Sie in diesem Zusammenhang auch das Kommando
STAT USR:, mit dem Sie eine Liste der User-Nummern be-
kommen, unter denen Dateien abgelegt wurden.
3.0 DIE WICHTIGSTEN TRANSIENTEN KOMMANDOS
Dieses Kapitel befasst sich mit den wichtigsten transienten Kom-
mandos der CP/M-Familie, die in der Form von Utilitys(Hilfspro-
grammen) auf einer Diskette vorliegen muessen.
- STAT/ SHOW
- PIP
- FORMAT
- COPYDISK
- LDCOPY/ SYSGEN/ COPYSYS
- HELP
- TOD/ DATE
- DUMP
- SUBMIT/ XSUB
- ASM/MAC
- LOAD/ HEXCOM
- GENCOM/ LMCMD
- ED
- DDT