|
Modul-Entry |
B: Beschreibung, I: Eingabe-, O: Ausgabeparameter |
|
ADDA.MAC |
ADDA |
B: |
Addition eines 8 Bit Wertes zu einem 16 Bit Wert |
|
I: |
Registerpaar HL hält den 16 Bit Wert, der Akku hält den 8 Bit Wert |
|
O: |
Das Registerpaar HL hält den Wert <HL>=<HL>+Akku |
|
ARGBUF.MAC |
<...> |
ARGBUF NARGS |
B: |
Speicherreservierung für Parameterübergabe |
|
BUFBLK.MAC |
<...> |
BUFBLK |
B: |
Bereitstellung der I/O Kanalparameter |
|
CCLOSE.MAC |
CCLOSE |
B: |
Schließen eines Kanals |
|
I: |
Register C hält den zu schließenden Kanal |
|
O: |
Akkumulator hält den geschlossenen Kanal |
|
CERROR.MAC |
CERROR |
B: |
Ausgabe einer Modulfehlermeldung und Programmabbruch |
|
I: |
Registerpaar HL hält die Meldung |
|
O: |
--- |
|
CINIT.MAC |
CINIT |
B: |
Initialisierung der Kommandoparameter |
|
I: |
Der CP/M Kommandopuffer ab Adresse 0080H wird untersucht. Dabei sind Redirektionszeichen >' und <', direkt gefolgt von einem Dateinamen, erlaubt |
|
O: |
Variable NARGS hält Anzahl Parameter, ARGBUF die durch Nullen getrennten Parameter. Redirektionen werden nicht gerechnet |
|
CONMSG.MAC |
CONMSG |
B: |
Ausgabe einer Zeichenkette auf die Konsole |
|
I: |
Registerpaar HL zeigt auf Zeichenkette |
|
O: |
--- |
|
COPEN.MAC |
COPEN |
B: |
Öffnen einer Datei und Zuordnung eines Kanals |
|
I: |
Registerpaar HL zeigt auf Dateinamen. Register B hält 0, wenn aus der Datei gelesen werden soll, oder -1, wenn geschrieben werden soll. Das Register C hält die zur Pufferung zur Verfügung zu stellende Rekords |
|
O: |
Der Akkumulator enthält den zugeordneten Kanal oder 0, wenn kein Kanal geöffnet werden konnte |
|
CEXIT.MAC |
CEXIT |
B: |
Beenden eines Programmes, das die C Bibliothek benutzt |
|
I: |
--- |
|
O: |
Das Programm wird beendet |
|
FILL.MAC |
FILL |
B: |
Füllen eines Speicherbereiches mit einer Konstanten |
|
I: |
Registerpaar HL zeigt auf den zu füllenden Speicherbereich, Registerpaar BC hält die Länge und der Akkumulator hält das Füllbyte |
|
O: |
Bereich mit Konstante gefüllt |
|
FILLBF.MAC |
FILLBF |
B: |
Lesen eines Puffers von Diskette |
|
I: |
Registerpaar DE hält die FCB, Registerpaar HL zeigt auf den Puffer und Register C hält die zu lesende Anzahl Rekords |
|
O: |
Akkumulator hält Null oder EOF |
|
FNB.MAC |
FNB |
B: |
Suchen nach Leerzeichen oder Tabulator |
|
I: |
Registerpaar BC weist auf Zeichenkette |
|
O: |
Registerpaar zeigt auf erstes Zeichen nach Leerzeichen oder Tabulator |
|
FNDBUF.MAC |
FNDBUF |
B: |
Suchen eines Puffers für einen Diskettenkanal |
|
I: |
Register C hält die Kanalnummer |
|
O: |
Registerpaar HL zeigt auf den gefundenen Pufferblock und der Akkumulator hält die Lese- oder Schreib-Flag |
|
GETARG.MAC |
GETARG |
B: |
Laden eines Argumentes aus der Kommandozeile |
|
I: |
Akkumulator hält die Nummer des Argumentes |
|
O: |
Registerpaar HL weist auf das Argument |
|
GETC.MAC |
GETC |
B: |
Einlesen eines Zeichens von STDIN |
|
I: |
--- |
|
O: |
Akkumulator hält Zeichen von STDIN |
|
GETCF.MAC |
GETCF |
CONBUF |
B: |
Einlesen eines Zeichens von einem Kanal |
|
I: |
Register C hält Kanalnummer, Null ist Konsole |
|
O: |
Akkumulator hält Zeichen vom Kanal |
|
GTLINE.MAC |
GTLINE |
B: |
Einlesen einer Zeichenkette von STDIN bis Carriage Return oder Line Feed |
|
I: |
--- |
|
O: |
Registerpaar HL weist auf Zeichenkette, Akkumulator hält Länge der Kette und die gesetzte Zero Flag zeigt leere Zeichenkette an |
|
GTLINF.MAC |
GTLINF |
B: |
Einlesen einer Zeichenkette vom Kanal bis Carriage Return oder Line Feed |
|
I: |
Register C hält Kanal |
|
O: |
Registerpaar HL weist auf Zeichenkette, Akkumulator hält Länge der Kette und die gesetzte Zero Flag zeigt leere Zeichenkette an |
|
IPTBUF.MAC |
<...> |
IPTBUF |
B: |
Bereitstellen eines Puffers zum Einlesen einer Zeichenkette |
|
MAKFCB.MAC |
MAKFCB |
B: |
Umwandeln einer Zeichenkette in eine gültige FCB |
|
I: |
Registerpaar HL zeigt auf Zeichenkette und Registerpaar auf FCB |
|
O: |
Registerpaar HL zeigt auf Diskettenpuffer und Registerpaar DE auf FCB |
|
MOVEU.MAC |
MOVEU |
B: |
Verschieben eines Speicherbereiches von hohen nach tiefen Adressen |
|
I: |
Registerpaar HL zeigt auf die Quelle, Registerpaar DE zeigt auf das Ziel und Registerpaar hält die Länge |
|
O: |
Daten verschoben |
|
MTBUF.MAC |
MTBUF |
B: |
Puffer zur Disk schreiben |
|
I: |
Registerpaar HL weist auf den Puffer, Registerpaar DE hält FCB und Register C hält die Anzahl zu schreibender Rekords |
|
O: |
--- |
|
NEGH.MAC |
NEGH |
B: |
Registerpaar HL negieren |
|
I: |
Registerpaar HL hält 16 Bit Zahl |
|
O: |
Registerpaar HL hält den negativen Wert der Zahl |
|
NL.MAC |
NL |
B: |
Ausgabe einer neuen Zeile auf STDOUT |
|
I: |
--- |
|
O: |
--- |
|
NLF.MAC |
NLF |
B: |
Ausgabe einer neuen Zeile auf einen Kanal |
|
I: |
Register C hält Kanal |
|
O: |
--- |
|
PUSHBF.MAC |
PUSHBF |
B: |
Zurückschreiben eines Zeichens in einen Lesekanal |
|
I: |
Akkumulator hält Zeichen und Register C hält den Kanal |
|
O: |
--- |
|
PUTC.MAC |
PUTC |
B: |
Ausgabe eines Zeichens auf STDOUT |
|
I: |
Akkumulator hält Zeichen |
|
O: |
--- |
|
PUTCF.MAC |
PUTCF |
B: |
Ausgabe eines Zeichens auf Kanal |
|
I: |
Akkumulator hält das Zeichen und Register C hält den Kanal (0 ist Konsole und 16 ist Drucker) |
|
O: |
--- |
|
PUTSTR.MAC |
PUTSTR |
B: |
Ausgabe einer Zeichenkette auf STDOUT |
|
I: |
Registerpaar HL zeigt auf Zeichenkette |
|
O: |
--- |
|
PUTSTF.MAC |
PUTSTF |
B: |
Ausgabe einer Zeichenkette auf Kanal |
|
I: |
Registerpaar HL zeigt auf Zeichenkette und Register C hält den Kanal |
|
O: |
--- |
|
SETBF.MAC |
SETBF |
B: |
Laden von kanalspezifischen Daten |
|
I: |
Registerpaar HL zeigt auf einen kanalspezifischen Block mit Offset 4 (Zeiger auf Puffergröße) |
|
O: |
Registerpaar HL zeigt auf den Pufferstart, Registerpaar DE hält den FCB und Register C hält die Rekordgröße des Puffers |
|
STDIO.MAC |
<...> |
STDIN STDOUT |
B: |
Definition der STDIN und STDOUT Kanäle |
|
PRINTF.MAC |
PRINTF |
B: |
Formatierung einer Zeichenkette im C Stil |
|
I: |
Registerpaar HL zeigt auf zu formatierende Zeichenkette, abgeschlossen mit Null. Registerpaar DE zeigt auf Kontroll-Adress-Feld. Registerpaar BC zeigt auf die Ergebniszeichenkette, das erste Byte hält die maximale Länge der Kette.
Die zu formatierende Zeichenkette kann folgende Kontrollzeichen beinhalten:
\t | Tabulator setzen |
\b | Backspace setzen |
\r | Carriage Return setzen |
\f | Form Feed setzen |
\n | Neue Zeile setzen |
\\ | Zeichen \" übernehmen |
| Alle anderen Kombination werden übernommen |
Mit Variabler aus Kontroll-Adress-Feld:
%c | Als Zeichen einfügen |
%s | Als Zeichenkette einfügen |
%d | Als Ganzzahl mit Vorzeichen einfügen |
%u | Als vorzeichenlose Ganzzahl einfügen |
%x | Als Hexzahl einfügen |
%% | Zeichen %" übernehmen |
| Alle anderen Kombination werden übernommen |
|
|
O: |
Die Ergebniskette ist gefüllt, Abschluss mit Null. Die gesetzte Carryflag zeigt Überlauf an. |
|
PRINTN.MAC |
PRINTN |
B: |
Formatierung einer Zeichenkette für Dateinamen |
|
I: |
Registerpaar HL zeigt auf zu formatierende Zeichenkette, abgeschlossen mit Null. Registerpaar DE zeigt auf Kontroll-Adress-Feld. Registerpaar BC zeigt auf die Ergebniszeichenkette, das erste Byte hält die maximale Länge der Kette.
Die zu formatierende Zeichenkette kann Kontrollzeichen beinhalten wie im Modul PRINTF definiert.
Mit Variabler aus Kontroll-Adress-Feld:
%F | In Format FN.T wandeln |
%D | In Format D:FN.T wandeln |
%U | In Format DU:FN.T wandeln |
%% | Zeichen %" übernehmen |
| Alle anderen Kombination werden übernommen |
|
|
O: |
Die Ergebniskette ist gefüllt, Abschluss mit Null. Die gesetzte Carryflag zeigt Überlauf an. |
|
PRNUTL.MAC |
$CONTR |
B: |
Wandeln von Kontrollzeichen wie im Modul PRINTF beschrieben |
|
I: |
Akku enthält Kontrollzeichen t, b, r, f, n oder \. Registerpaar BC zeigt auf die Ergebniszeichenkette. |
|
O: |
Zeichen in Akku gewandelt und gespeichert. |
$STCH |
B: |
Speichern eines Zeichens |
|
I: |
Akku hält Zeichen, Registerpaar BC zeigt auf die Ergebniszeichenkette und Register IX zeigt auf die verbleibende Länge (Speicherung nur, wenn dieser Wert > 0 ist) |
|
O: |
Zeroflag gesetzt, wenn Null gespeichert wurde. |
|
SBRK.MAC |
SBRK |
B: |
Bereitstellen von neuem Speicherplatz |
|
I: |
Registerpaar HL hält Anzahl gewünschter Bytes. |
|
O: |
Registerpaar HL hält Adresse auf freien Speicher. Falls nicht genügend Speicher vorhanden ist, hält Registerpaar HL 0.
Der Stack Pointer muss mit der höchsten möglichen Adresse geladen sein (aus Adresse 0006). In SBRK-2 steht der zu berücksichtigende Platz für den Stack (Default 1024). Der freie Speicherplatz wird ermittelt aus der Assembler Variablen $MEMRY.
|
|
MALLOC.MAC |
MALLOC |
$GETMEM |
B: |
Bereitstellen von Speicherplatz |
|
SVENV |
I: |
Registerpaar HL hält Anzahl gewünschter Bytes. |
|
O: |
Registerpaar HL hält Adresse auf freien Speicher. Falls nicht genügend Speicher vorhanden ist, hält Registerpaar HL 0.
|
|
CALLOC.MAC |
CALLOC |
B: |
Bereitstellen von Speicherplatz und Initialisierung mit 0. |
|
I: |
Registerpaar HL hält Anzahl gewünschter Bytes. |
|
O: |
Registerpaar HL hält Adresse auf freien Speicher. Falls nicht genügend Speicher vorhanden ist, hält Registerpaar HL 0.
|
|
REALLOC.MAC |
REALLOC |
B: |
Bereitstellen von geändertem Speicherplatz. |
|
I: |
Registerpaar HL hält Anzahl gewünschter Bytes und Registerpaar DE hält Speicherzeiger wie von MALLOC oder CALLOC geliefert. |
|
O: |
Registerpaar HL hält Adresse auf freien Speicher. Falls nicht genügend Speicher vorhanden ist, hält Registerpaar HL 0.
|
|
FREE.MAC |
FREE |
ALLPTR |
B: |
Freigeben von Speicherplatz |
|
I: |
Registerpaar HL hält Adresse des bisher belegten Speichers, wie sie von MALLOC oder CALLOC geliefert wird. |
|
O: |
--- |
|
FOPEN.MAC |
FOPEN |
B: |
Öffnen einer Datei |
|
I: |
Registerpaar HL zeigt auf Dateinamen DU:FN.EXT oder ein Zeichen orientiertes Gerät (CON:, LST:, usw.). Registerpaar DE zeigt auf zu öffnenden Typen (r', w' oder a'). Falls Dateien im binären Format geöffnet werden sollen, muss dem Typen ein o' vorangestellt werden. |
|
O: |
Registerpaar HL enthält Adresse auf eine Datei oder hält einen Kode für Zeichen orientierte Geräte. Im Fehlerfall wird 0 zurückgegeben. |
|
FCLOSE.MAC |
FCLOSE |
B: |
Schließen einer Datei |
|
I: |
Registerpaar DE enthält Adresse auf eine Datei. |
|
O: |
Registerpaar HL hält 0 bei Erfolg. |
|
UNLINK.MAC |
UNLINK |
B: |
Löschen einer Datei |
|
I: |
Registerpaar HL zeigt auf Dateinamen DU:FN.EXT |
|
O: |
Registerpaar HL hält 0 bei Erfolg. |
|
FNAME.MAC |
FNAME |
B: |
Umbenennen einer Datei |
|
I: |
Registerpaar DE zeigt auf alten Dateinamen DU:FN.EXT und Registerpaar HL zeigt auf neuen Dateinamen DU:FN.EXT |
|
O: |
Registerpaar HL hält 0 bei Erfolg. |
|
FGETC.MAC |
FGETC |
$RDPRC |
B: |
Einlesen eines Zeichens von einer Datei |
|
$KBDPC |
I: |
Registerpaar DE enthält Adresse auf eine Datei. |
|
O: |
Registerpaar HL hält Zeichen. -1 zeigt Dateiende an. |
|
UNGETC.MAC |
UNGETC |
B: |
Rückschreiben eines gelesenen Zeichens in eine Datei |
|
I: |
Registerpaar DE enthält Adresse auf eine Datei und Registerpaar HL hält Zeichen. |
|
O: |
Registerpaar HL hält Zeichen. -1 zeigt Dateifehler an. |
|
FPUTC.MAC |
FPUTC |
B: |
Schreiben eines Zeichens in eine Datei. |
|
I: |
Registerpaar DE enthält Adresse auf eine Datei, Registerpaar HL hält Zeichen. |
|
O: |
Registerpaar HL hält Zeichen. -1 zeigt Fehler an. |
|
FGETS.MAC |
FGETS |
B: |
Einlesen einer Zeichenkette von einer Datei |
|
I: |
Registerpaar DE enthält Adresse auf eine Datei, Registerpaar HL zeigt auf einzulesende Zeichenkette und Registerpaar BC hält Länge der Kette (Ohne Berücksichtigung der angehängten Null). |
|
O: |
Registerpaar HL hält Länge der Kette -1. -1 zeigt Dateiende an |
|
FPUTS.MAC |
FPUTS |
B: |
Schreiben einer Zeichenkette in eine Datei. |
|
I: |
Registerpaar DE enthält Adresse auf eine Datei, Registerpaar HL zeigt auf mit 0 abgeschlossene Zeichenkette. |
|
O: |
Registerpaar HL hält Resultat. -1 zeigt Fehler an. |
|
FCB.MAC |
DU$FCB |
B: |
Umwandeln einer Zeichenkette in eine gültige FCB |
|
I: |
Registerpaar DE zeigt auf Zeichenkette (Format DU:FN.EXT) und Registerpaar HL auf FCB |
|
O: |
Registerpaar HL zeigt auf Diskettenpuffer und Registerpaar DE auf FCB |
|
CBDOS.MAC |
$BDOS |
B: |
Ausführen einer Betriebssystemfunktion |
|
I: |
Register(paar) (D)E hält Parameter und Register C hält Funktion |
|
O: |
Registerpaar HL und Akku halten das Ergebnis |
|
UBDOS.MAC |
U$BDOS |
B: |
Ausführen einer Datei spezifischen Betriebssystemfunktion |
|
I: |
Registerpaar DE hält Adresse des Dateibeschreibers und Register C hält Funktion |
|
O: |
Registerpaar HL und Akku halten das Ergebnis
Das Byte in Dateibeschreiber+36 hält den einzustellenden Benutzerbereich, 0 bedeutet keine Änderung
|
|
FIO.MAC |
<...> |
$FLAGS |
B: |
Definition der Gerätefunktionen |
|
$STDIN |
|
Definition der Standard Eingabe |
|
$STDOUT |
|
Definition der Standard Ausgabe |
|