|
| Modul-Entry |
B: Beschreibung, I: Eingabe-, O: Ausgabeparameter |
|
| CHNINI.MAC |
| CHNINI |
B: |
Initialisierung eines Diskettenkanals |
| |
I: |
Register C hält Kanal in Bereich 0 bis 15
Register B hält Mode Byte wie folgt:
| 0 : | Öffnen einer Datei zum Lesen |
| 1 : | Öffnen einer neuen Datei |
| 2 : | Datei löschen vor neuer Öffnung |
| 3 : | Öffnen einer Datei zum Schreiben |
Bei gesetztem MSB kann eine Re-ininitialisierung eines bereits geöffneten Kanals erfolgen. Registerpaar DE hält Parameter Block Adresse:
| PB+0,1 | die 16 Bit DMA Puffer Adresse |
| PB+2 | der 8 Bit relative Puffer Zeiger |
| PB+3,4 | die 16 Bit FCB Adresse |
| PB+5 | der Userbereich (-1 eingestellter) |
|
| |
O: |
Die Carryflag ist bei einem Fehler gesetzt - Kanal außerhalb des Bereiches oder bereits geöffnet, Datei ist nicht auf Diskette oder kann nicht neu eingerichtet werden |
|
| CHNTAB.MAC |
| @CHACC |
B: |
Überprüfen eines Diskettenkanals |
| |
I: |
Register C hält Kanal im Bereich 0 bis 15 |
| |
O: |
Die Carryflag ist gesetzt im Fehlerfall - Kanal außerhalb des Bereiches. Bei nichtgesetzter Carryflag zeigt die gesetzte Zeroflag an, dass der Kanal geöffnet ist, sonst nicht geöffnet. Registerpaar HL zeigt auf den zugehörigen Kanal Kontroll Block |
|
| CHNXFR.MAC |
| CHNXFR |
B: |
Durchführen eines Kanaltransfers. Lesen oder Schreiben ergibt sich aus der Initialisierung |
| |
I: |
Register C hält Kanal im Bereich 0 bis 15 und Akku hält Byte, falls auf Diskette geschrieben werden soll |
| |
O: |
Die Carryflag ist gesetzt im Fehlerfall - Kanal außerhalb des Bereiches oder Dateifehler. Bei nicht gesetzter Carryflag hält der Akku das Byte, falls von Diskette gelesen wurde |
|
| CHNIN.MAC |
| CHNIN |
B: |
Lesen eines Bytes vom Diskettenkanal |
| |
I: |
Register C hält Kanal im Bereich 0 bis 15 |
| |
O: |
Die Carryflag ist gesetzt im Fehlerfall - Kanal außerhalb des Bereiches oder Dateifehler, sonst nicht gesetzt und der Akku hält das gelesene Byte |
|
| CHNOUT.MAC |
| CHNOUT |
B: |
Schreiben eines Bytes auf Diskettenkanal |
| |
I: |
Register C hält Kanal im Bereich 0 bis 15 und der Akku hält das zu schreibende Byte |
| |
O: |
Die Carryflag ist gesetzt im Fehlerfall - Kanal außerhalb des Bereiches oder Dateifehler |
|
| CHNEOF.MAC |
| CHNEOF |
B: |
Lesen eines Zeichens vom Diskettenkanal und testen EOF |
| |
I: |
Register C hält Kanal im Bereich 0 bis 15 |
| |
O: |
Die Carryflag ist gesetzt im Fehlerfall - Kanal außerhalb des Bereiches oder Dateifehler - oder beim Zeichen EOF (Hex 1A - Ctrl-Z). Der Akku hält das gelesene Zeichen |
|
| CHNCLS.MAC |
| CHNCLS |
B: |
Schließen eines oder aller Diskettenkanäle |
| |
I: |
Register C hält Kanal im Bereich 0 bis 15 oder -1 falls alle Kanäle geschlossen werden sollen |
| |
O: |
Die Carryflag ist gesetzt im Fehlerfall - Kanal außerhalb des Bereiches oder Dateifehler |
|
| CHNUSR.MAC |
| @CHUSR |
B: |
Auswählen eines Userbereiches und Diskettenoperation ausführen |
| |
I: |
Registerpaar BC hält die Adresse der auszuführenden Diskettenoperation.
Registerpaar HL hält die Definitionsadresse-1 des Userbereiches. Userbereich -1 bedeutet keine Änderung des Bereiches
|
| |
O: |
Die Carryflag ist gesetzt im Fehlerfall |
|
| CHNTST.MAC |
| @CHTST |
B: |
Test ob der aufgerufene Kanal geöffnet ist |
| |
I: |
Register C hält Kanal im Bereich 0 bis 15 |
| |
O: |
Die Carryflag ist gesetzt im Fehlerfall - Kanal außerhalb des Bereiches oder nicht geöffnet. Bei nicht gesetzter Carryflag zeigt die gesetzte Zeroflag einen Schreibkanal, eine nicht gesetzte Zeroflag einen Lesekanal an |
|