GERÄTENAMEN
Für den systeminternen Datenaustausch wird jedes Gerät mit einer speziellen Bezeichnung angesprochen. Die Disketten-Station und das Interface-Modul (RS 232 Handler) haben zusätzlich eine Ansprechnummer (1-4). Die Diskettenstation benötigt darüber hinaus noch einen Dateinamen. Dieser muß in "..." oder in String-Variablen enthalten sein. Nachfolgend einige Beispiele:
K: Tastatur. Nur für Eingabe
P: Drucker. Nur für Ausgabe
C: Kassette. Eingabe und Ausgabe
S: Bildschirm (TV). Nur Ausgabe
E: Bildschirm – Bearbeitungsgerät (Tastatur kombiniert mit Bildschirm). Eingabe und Ausgabe
R: RS232 Handler (ATARI Interface Modul) Eingabe und Ausgabe
D:DATEINAME.ERWEITERUNG (3 Ziffern) der Datei, z.B.: "D:FILENAME.EXT" Diskettenstation 1
D2:DATEINAME.ERWEITERUNG (gleiche Datei in Diskettenstation 2)
Dateinamen können bis zu acht Buchstaben/Ziffern lang sein und müssen mit einem Buchstaben beginnen. Der Name der Datei kann mit einer wahlweisen Erweiterung enden (ein Punkt, gefolgt von 1 - 3 beliebigen Buchstaben/Ziffern). Einige praktische Erweiterungen sind:
.BAS = Mit der Funktion "SAVE" versehenes BASIC-Programm.
.LST = Mit der Funktion "LIST" versehenes BASIC-Programm.
.DAT = Allgemeine Daten-Dateien.
.OBJ = Maschinensproche-Dateien (Object-Files)
.TXT = Text-Dateien.
EINGABE-/AUSGABE-BEFEHLE (I/0)
OPEN (O.) - Bereitet ein Gerät für die Ein oder Ausgabe vor.
CLOSE (CL.) - Schliesst das Gerät wieder.
Die IOCB-Nummern sind 1-7. Verwendet folgende Codes:
z. B.:
Type | Code | Operationen |
Eingabe | 4 | Nur lesen |
Ausgabe | 8 | Nur schreiben |
Update | 12 | Einlesen und schreiben |
Append | 9 | Zusatz zum Dateiende |
Directory | 6 | Nur Inhalt der Diskette |
OPEN #l, 4, 0, "K:" (Vorbereitung der Tastatur zur Eingabe bei IOCB #l)
OPEN #2, 8, 0, "P:" (Vorbereitung des Druckers für Ausgabe bei IOCB #2)
OPEN #l, 12, 0, "D:MYFILE.DAT" (Vorbereitung der Datei MYFILE.DAT für "Update" -Funktionen IOCD #l)
OPEN #l, 6, 0, "D:*.*" (Vorbereitung des Disketteninhalts für die Adresse bei IOCB #l)
CLOSE #l (Schließt die bei IOCB #l vorbereitete Datei und gibt IOCB frei.)
INPUT (I.) - Liest eine Zeile von Daten aus dem Gerät ein. Diese Zeile muß durch ein RETURN-Zeichen beendet werden, z. B.:
INPUT A (Tastatureingabe einer Zahl, die in Variable A gesetzt wird)
INPUT A, B, C (Tastatureingabe von drei durch Kommata zu trennende Zahlen)
INPUT A$ (Tastatureingabe von Daten, die in Variable A$ gesetzt werden. Diese Eingabe ist durch RETURN-Taste abzuschließen.)
INPUT #1,A (Eingabe einer Zahl von einem bei IOCB #l vorbereitetem Gerät in Variable A)
PRINT (PR.) oder (?) - Läßt die Daten auf dem Bildschirm oder einem anderen durch OPEN vorbereiteten Gerät erscheinen, z. B.:
PRINT (eine leere Zeile erscheint)
PRINT "die Zahl ist", A (das Komma bewirkt Leerstellen zwischen Text und Zahl. POKE 201,5 bewirkt 5 Leerstellen).
PRINT A$; (';' bewirkt die Darstellung des folgenden PRINT-Befehls in derselben Zeile)
PRINT #l, A$ (Ausdruck des Inhalts von Variable A$ durch das bei IOCB #l vorbereitete Gerät).
LPRINT (LP.) - Druckt ohne OPEN-Befehl auf dem Drucker aus, z. B.:
LPRINT (eine leere Zeile wird gedruckt")
LPRINT A$ (Inhalt der Variable A$ wird ausgedruckt)
LPRINT A$;B (der Inhalt von Variable A$ und B wird in der selben Zeile dargestellt)
GET - Holt ein einzelnes Byte aus dem bestimmten Gerät und setzt es in die definierte Variable ein, z.B.:
GET #l, A (holt ein Byte aus dem bei IOCB #l vorbereiteten Gerät und setzt es in die numerische Variable ein)
PUT - Setzt das einzelne Byte aus einer numerischen Variable in ein definiertes Gerät ein, z.B.:
PUT #l, A (setzt den Inhalt von Variable A in ein bei IOCB #l vorbereitetes Gerät ein)
NOTE (NO.) - Wird bei Disketten verwendet zur Bestimmung des Ortes des nächsten einzulesenden oder auszuschreibenden Bytes, z. B.:
NOTE #l, SEC, BYTE (setzt die derzeitigen Nummern von Sektor und Byte in SEC bzw. BYTE ein. Bezieht sich dabei auf die bei IOCB #l vorbereitete Datei)
POINT (R) - Wird verwendet, um DOS mitzuteilen, wo sich das nächste einzulesende oder auszuschreibende Byte befindet, z.B.:
POINT # 1, SEC, BYTE (für SEC und BYTE sind die Werte einzusetzen).
STATUS (ST.) - Stellt den Status eines Gerätes fest. Die Status-Codes sind der Tabelle 'Fehlermeldung' zu entnehmen, z.B.:
STATUS #l, A (Liest den Status für das bei IOCB #l vorbereitete Gerät und setzt ihn in die Variable A ein)