Eingabe und Ausgabe

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)