Bios Interrupt 13h Festplatte


Function 00h - Festplatte neu initialisieren

Eingabe:  AH    =  00h
          DL    =  Festplatte, 80 - FFh
Ausgabe:  AH    =  Fehlercode (siehe Tabele 1)
          CF    =  1, wenn ein Fehler aufgetreten ist
                =  0, wenn kein Fehler aufgetreten ist

Function 02h - Einen oder mehrere Sektoren der Festplatte lesen
Eingabe:  AH    =  02h
          AL    =  Anzahl der zu lesenden Sektoren
          CH    =  Bit 7-0 der 12-Bit-Zylindernummer
          CL    =  Zylindernummer und Startsektor
                   Bit 7-6 = Bit 9-8 der 12-Bit-Zylindernummer
                   Bit 5-0 = Nummer des Startsektors
          DH    =  Zylindernummer und Kopfnummer
                   Bit 7-0 = Bit 11-10 der 12-Bit-Zylindernummer
                   Bit 5-0 = Kopf
          DL    =  Festplatte, 80 - FFh
          ES:BX =  Adresse des Lesepuffers
Ausgabe:  AH    =  Fehlercode (siehe Tabele 1)
          AL    =  Anzahl der zusammenhängenden/aufeinanderfolgenden Bitfehler
                   (burst error length), wenn der Fehlercode in AH = 11h ist
          CF    =  1, wenn ein Fehler aufgetreten ist
                =  0, wenn kein Fehler aufgetreten ist

Function 03h - Einen oder mehrere Sektoren der Festplatte schreiben
Eingabe:  AH    =  03h
          AL    =  Anzahl der zu lesenden Sektoren
          CH    =  Bit 7-0 der 12-Bit-Zylindernummer
          CL    =  Zylindernummer und Startsektor
                   Bit 7-6 = Bit 9-8 der 12-Bit-Zylindernummer
                   Bit 5-0 = Nummer des Startsektors
          DH    =  Zylindernummer und Kopfnummer
                   Bit 7-0 = Bit 11-10 der 12-Bit-Zylindernummer
                   Bit 5-0 = Kopf
          DL    =  Festplatte, 80 - FFh
          ES:BX =  Adresse des Schreibpuffers
Ausgabe:  AH    =  Fehlercode (siehe Tabele 1)
          CF    =  1, wenn ein Fehler aufgetreten ist
                =  0, wenn kein Fehler aufgetreten ist








Tabele 1

Offset Umfang Beschreibeung
00h - kein Fehler
01h - ungültiger Parameter
02h - nicht verwendete oder unbekannte Funktion
03h - Befehl wird nicht unterstützt
04h - Befehl abgebrochen
05h - nicht verwendete oder unbekannte Funktion
06h - Diagnosefehler des Controllers
07h - formatieren fehlgeschlagen
08h - Formatierungsfehler, Fehler in der primären Defekttabelle
09h - Formatierungsfehler, Fehler in der sekundären Defekttabelle
0Ah - Formatierungsfehler, Diagnosenfehler
0Bh - Warnung (formatieren), sekundäre Defekttabele zu groß
0Ch - Warnung (formatieren), >>Non-Zero<<-Defekt
0Dh - Formatierungsfehler, Prüfsummenfehler
0Eh - Warnung (formatieren), Inkompabilität des Geräts
0Fh - Warnung (formatieren), Überlauf (overflow)
10h - Warnung (formatieren), meher als 15 Übersetzungen in einem Zylinder
11h - interner Hardwarefehler
12h - Warnung (formatieren), Überprüfungsfehler gefunden
13h - ungüldiges Gerät
FFh - Fehler im Gerät
03h 1 Byte Statuscode