Function 00h - Reset des Diskettenlaufwerk
Eingabe: AH = 00h
DL = Nummer des Diskettenlaufwerks, 0-3
Ausgabe: AH = Fehlercode (siehe Tabele)
CF = 1, Fehler
0, kein Fehler
Function 02h - Einen oder mehrere Sektoren von Diskette lesen
Eingabe: AH = 02h
AL = Anzahl der zu lesenden Sektoren, 1-36
CH = Spur, 0-79
CL = Sektor, 1.36
DH = Kopf, 0 oder 1
DL = Diskettenlaufwerk, 0-3
ES:BX = Adresse eines Puffers
Ausgabe: AH = Fehlercode (siehe Tabele)
CF = 1, Fehler
0, kein Fehler
Function 03h - Einen oder mehrere Sektoren von Diskette schreiben
Eingabe: AH = 03h
AL = Anzahl der zu schreibenden Sektoren, 1-36
CH = Spur, 0-79
CL = Sektor, 1.36
DH = Kopf, 0 oder 1
DL = Diskettenlaufwerk, 0-3
ES:BX = Adresse eines Puffers
Ausgabe: AH = Fehlercode (siehe Tabele)
AL = Anzahl der tatsächlich geschriebenen Sektoren
CF = 1, Fehler
0, kein Fehler
| Fehlercode | Beschreibung |
|---|---|
| 00h | Kein Fehler aufgetreten |
| 01h | Ungültiger Befehl |
| 02h | Adreßmarke des angesprochenen Sektor ist defekt |
| 03h | Datenträger ist schreibgeschützt |
| 04h | Sektor nicht gefunden |
| 06h | Diskette gewechselt |
| 08h | Überlauf im DMA-Controller |
| 09h | Ungültiger Versuch die 64-KB-Grenze des DMA-Controllers zu überschreiten |
| 0Ch | Diskettentyp nicht gefunden |
| 0Fh | Außerhalb der gültigen DMA-Arbitrageebene |
| 10h | Ungüldiger CRC, Prüfsummenfehler beim Lesen oder Überprüfen |
| 20h | Fehler im Diskettenlaufwerk-Controller |
| 40h | Spur nicht gefunden |
| 80h | Diskettenlaufwerk reagiert nicht, Wartezeit überschritten |
| FFh | Nicht aufschlüsselbarer Fehler aufgetreten |