Abbildung
8.2
Nl = Hier wird der
Status des I/O-Befehls gespeichert. Er befindet sich beim Rücksprung vom CIO
im Y-Register.
N2 = Die AUX-Bytes
der IOBs werden von einigen Handlern zum Anzeigen von speziellen Modi benutzt.
x = Wird nicht beachtet,
der augenblickliche Wert wird aber nicht geändert.
Anmerkung: Die obere
IOCB-Definition setzt folgendes voraus:
*=$600
IOBUFF .RES 80
I/O-Buffer des Benutzers.
FILE .BYTE "D:HPROG.BAS"
Filename vom Benutzer.
Abbildung
8.3
1* = Dieses Byte bestimmt den Druckermodus (siehe 820-Manual)
2* = DAUX1 & DAUX2 legen den Sektor für READ, WRITE (PUT oder überprüfung) fest.
B = Die Adresse wird vom Benutzer bestimmt.
- = Wird nicht beachtet.
Die 8 IOCBs des OS
werden zum Informationsaustausch zwischen dem Benutzerprogramm und dem CIO verwendet.
Abbildung 8.2 zeigt den Inhalt eines IOCBs bei einigen normalen I/O-Funktionen. Die
ICCBs sind:
Speicherstelle,
Name Länge
IOCB0 ƒ$340,16ü
IOCB1 ƒ$350,16ü
IOCB2 ƒ$360,16ü
IOCB3 ƒ$370,16ü
IOCB4 ƒ$380,16ü
IOCB5 ƒ$390,16ü
ICCN6 ƒ$3A0,16ü
IOCB7 ƒ$3B0,16ü
Die
zweite Art von Kontrollblöcken, der ZIOCB ƒ$0020,16ü, wird zum Austauschen
von Kontrolldaten zwischen den Geräte-Handlern und dem CIO benutzt. Bei Aufruf
benutzt die CIO den im X-Register enthaltenen Wert als Index, der auf die Startadresse
des IOCBs (einer von 8), welcher benutzt werden soll, zeigt. Die CIO übergibt
die Kontrolldaten vom gewählten IOCB an den ZIOCB ist von geringerem Interesse,
solange der Benutzer keinen neuen Geräte-Handler schreibt und einen alten durch
diesen ersetzt. Weitere Informationen über den ZIOCB siehe OS-Benutzer-Manual.
Die
Geräte-Handler laden die Kontrollinformation in den DCB ƒ$0300,16ü. Die
SIO holt die DCB-Information und die Statuswerte im DCB für anschließende
Verwendung durch den Geräte-Handler. Der DCB und die SIO werden nur von Geräte-Handlern
angesprochen, die den seriellen Bus benötigen. Abschnitt 9 des OS-Manuals enthält
eine detailierte Beschreibung des DCBs. Abbildung 8.3 listet einige normale Funktionen
(I/0) und die entsprechenden Inhalte des DCBs.
Der
residente Disk-Handler richtet sich nicht nach der regulären Aufrufsfolge (Benutzer-CIO-Handler-SIO).
Statt dessen wird der DCB von Benutzer verwendet, um direkt mit dem residenten Disk-Handler
zu kommunizieren. Kapitel 9 dieses Buches enthält nähere Informationen
zum residenten Disk-Handler.