Parameterübergabe bei CP/M Programmen

Der CCP (Console Command Processor) ist die Benutzerschnittstelle zu CP/M, wenn keine Programme im Speicher laufen. Der CCP nimmt Eingaben vom Benutzer entgegen und wertet diese aus. Wird ein Programm aufgerufen, so initialisiert der CCP Speicherbereiche ab Adresse 0050h, wie bei der Belegung der Page 0 beschrieben.

Bei Eingabe von z.B. TEST DATEI1.TXT DATEI2 legt der CCP alle Parameter hinter TEST ab, undzwar Dies sieht in einem Dump dann so aus:
   0080: 12 20 44 41 54 45 49 31 2E 54 58 54 20 44 41 54   . DATEI1.TXT DAT
   0090: 45 49 32 00                                       EI2.
Im folgenden werden die Bereiche für mögliche Passworte nicht berücksichtigt.

Die ersten beiden Parameter DATEI1.TXT und DATEI2 werden gewandelt in File Control Blocks (FCB). Der erste Parameter DATEI1.TXT wird abgelegt ab 005ch, der zweite Parameter DATEI2 ab 006ch. Der Dump dafür sieht dann so aus:
   005C: 00 44 41 54 45 49 31 20 20 54 58 54 00 00 00 00 .DATEI1  TXT....
   006C: 00 44 41 54 45 49 32 20 20 20 20 20 00 00 00 00 .DATEI2     ....
Als Vergleich zwei weitere Dumps:
1.) Eingabe: TEST DATEI /OPT
0080: 0B 20 44 41 54 45 49 20 2F 4F 50 54 00          . DATEI /OPT.
005C: 00 44 41 54 45 49 20 20 20 20 20 20 00 00 00 00 .DATEI      ....
006C: 00 2F 4F 50 54 20 20 20 20 20 20 20 00 00 00 00 ./OPT       ....
2.) Eingabe: TEST DATEI1 DATEI2 [OPT]
0080: 14 20 44 41 54 45 49 31 20 44 41 54 45 49 32 20 . DATEI1 DATEI2 
0090: 5B 4F 50 54 5D 00                               [OPT]
005C: 00 44 41 54 45 49 31 20 20 20 20 20 00 00 00 00 .DATEI1     ....
006C: 00 44 41 54 45 49 32 20 20 20 20 20 00 00 00 00 .DATEI2     ....
Zu erkennen ist, dass bei mehr als zwei Parametern eine interne Wandlung nicht mehr durchgeführt wird.

Wie sehen nun die Optionen von CP/M Programmen aus?
DR CP/M 2.x Optionen wurden hier oft in der Dateierweiterung versteckt. Ein Beispiel ist der Assembler, dessen allgemeiner Aufruf lautet ASM FILE.ABC. Hierbei stehen A, B und C für jeweils ein Laufwerk. Dies kann sein: A-P für ein reguläres Laufwerk, Z, wenn keine Datei erzeugt werden soll, und X, wenn die Ausgabe auf die Konsole gehen soll.
Microsoft Microfsoft führte als Trennung der Parameter das Komma ein und zeigte Optionen durch den Schrägstrich an, z.B. M80 =FILE/L
DR CP/M 3.x DR verwendete verschidene Optionen. Angelehnt an ASM war der Aufruf von MAC MAC FILE $OPT. Mit vorangestelltem $-Zeichen folgte auch hier die Angabe eines Laufwerkes. Bei anderen Dienstprogrammen waren die Optionen in eckige Klammern gepackt, z.B. LINK FILE,LIB[S], und Parameter ebenfalls durch Kommata getrennt.

Letzte Änderung: 31.Oktober 2004