Routinen für rekordweise Diskettenoperationen

Die hier vorgestellten Routinen sind solche für zur Rekord Ein-/Ausgabe bei Diskettenoperationen.

Modul-Entry B: Beschreibung, I: Eingabe-, O: Ausgabeparameter

DSKRED.MAC
DSKRED B: Lesen eines sequentiellen Rekords von Diskette
  I: Registerpaar DE hält Adresse des FCB
  O: Carryflag gesetzt falls Datei nicht gefunden oder vollständig gelesen wurde, sonst nicht gesetzt.

DSKWRT.MAC
DSKWRT B: Schreiben eines sequentiellen Rekords auf Diskette
  I: Registerpaar DE hält Adresse des FCB
  O: Carryflag ist gesetzt, falls Datei nicht gefunden wurde oder kein Platz mehr auf der Diskette ist, sonst nicht gesetzt.

RNDRED.MAC
RNDRED B: Lesen eines wahlweisen Rekords von Diskette
  I: Registerpaar DE hält Adresse des FCB
  O: Carryflag gesetzt, falls keine weiteren Rekords existieren oder die Datei nicht auf Diskette ist, sonst nicht gesetzt.

RNDWRT.MAC
RNDWRT B: Schreiben eines wahlweisen Rekords auf Diskette
  I: Registerpaar DE hält Adresse des FCB
  O: Carryflag ist gesetzt, falls Datei nicht gefunden wurde oder kein Platz mehr auf der Diskette ist, sonst nicht gesetzt.

FILEIO.MAC
@FILIO B: Ausführen spezieller Diskettenfunktionen
  I: Registerpaar DE hält Adresse des FCB und Akku hält die auszuführende BDOS Funktion
  O: Carryflag ist gesetzt falls die BDOS Funktion fehlerhaft ist (Code nicht Null), sonst nicht gesetzt. Akku hält die Nummer des Extended Errorkode

SEARCH.MAC
SRCFRS SRFBUF B: Suche nach erstem Eintrag
SRCNXT   B: Suche nach nächstem Eintrag
  I: Registerpaar DE hält Adresse des FCB bei erstem Aufruf, sonst beliebig. Das Feld SRFBUF muss die Adresse eines 128 Byte Puffers halten, die Voreinstellung ist der Standard DMA Puffer ab 0080H
  O: Im Normalfall ist die Carryflag nicht gesetzt und Registerpaar HL hält die Adresse eines Namensfeldes einer FCB. Die Carryflag ist gesetzt, falls kein weiterer Eintrag gefunden wurde, oder bei einem Fehler.
Zwischen den Aufrufen darf keine andere Diskettenfunktion ausgeführt werden

SRCFIL.MAC
SRCFIL B: Suche nach Einträgen mit der Erlaubnis der Ausführung einer Diskettenfunktion
  I: Registerpaar DE hält Adresse des FCB bei erstem Aufruf, sonst beliebig. Vor dem ersten Aufruf muss das Byte in SRCFIL-1 auf Null gesetzt sein.
  O: Im Normalfall ist die Carryflag nicht gesetzt und der gewählte FCB ist gefüllt mit der gefundenen Datei. Die Carryflag ist gesetzt, falls kein weiterer Eintrag gefunden wurde, oder bei einem Fehler.

RMLSEC.MAC
RMLSEC B: Lesen mehrerer sequentieller Rekords von Diskette
  I: Registerpaar DE hält Adresse des FCB
  O: Carryflag gesetzt falls Datei nicht gefunden oder ein Lesefehler gefunden wurde, sonst nicht gesetzt. Im Extended Mode Verzweigung auf Fehlerroutine möglich. Wenn die Carryflag nicht gesetzt ist, so zeigt die Zeroflag das Leseergebnis an:
Flag gesetzt: Alle gewählten Sektoren sind gelesen worden
Flag nicht gesetzt: Es wurde das Dateiende gefunden, der Akku hält die Anzahl gelesener Rekords, wobei auch Null als Ergebnis vorkommen kann