Bios Interrupt 13h Disketten


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








Tabele

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