Obsługa dyskietek i dysków twardych
Transkrypt
Obsługa dyskietek i dysków twardych
Obsługa dyskietek i dysków twardych Blok parametrów dysku Adresy przerwań 41h, 46h 00-01 liczba cylindrów 02 liczba głowic 03-04 zmiejszenie prądu zapisu (dla 6=XT 0) 05-06 cylinder z dekompesacją 07 długość korekcji ECC 08 bajt sterowania 6=XT 0) 09 bajt przeterminowania (dla 0A czas przeterminowania (formatowanie, dla 0B czas przeterminowania (sprawdzane, dla 6=XT 0) 6=XT 0) 0C-0D strefa lądowania (w AT - numer cylindra) 0E liczba sektorów na ścieżce (AT) 0F zarezerwowane • 13h, Funkcja: 0h - inicjowanie dysku Wejście: DL - numer dysku 0h, 1h - dyskietki; 80h, 81h - dyski twarde Wyjście: AL - stan sterownka, CF=1 - błąd • 13h, Funkcja: 1h - odczytanie stanu sterownika Wejście: DL=numer dysku: 0h, 1h - dyskietka; 80h, 81h - dyski twarde Wyjście: AH - stan sterownika (dyskietka) AL - stan sterownika (dysk twardy) CF=1 - błąd • 13h, Funkcja: 2h, 3h, 4h - odczyt, zapis, weryfikacja sektorów Wejście: DL=numer dysku DH=numer głowicy: 0h-1h -- dyskietka; 0h-0Fh -- dysk twardy CH=numer cylindra: 0-39 -- dyskietka 360KB; 0-79 -- dyskietka 1.2MB; 720KB, 1.44MB, 2.88MB; 0-1023 -- dyski twarde CL=pierwszy sektor: 1-8/9 -- 360KB, 1-15 -- 1.2MB; 1-9 -- 720MB; 1-18 -- 1.44MB; 1-36 -- 2.88MB; 1-17 -- HD (1-63 -- nowsze BIOS) AL=ilość sektorów: 1-8/9 -- 360KB, 1-15 -- 1.2MB; 1-9 -- 720MB; 1-18 -- 1.44MB; 1-36 -- 2.88MB; 1-128 -- HD ES:BX=adres bufora transmisji Wyjście: CF=1 - błąd AL - liczba sektorów, na których wykonano operację, AH - stan sterownika: dyskietka HD E0 błąd stanu sterownika CC błąd zapisu BB błąd nieokreślony 80 przeterminowanie 80 wystąpiło przeterminowanie 40 brak ścieżki 40 błąd przesuwania głowicy 20 uszkodzenie sterownika NEC765 20 uszkodzenie sterownika 11 korekta odczytanych danych ECC 10 błąd ECC 10 błąd CRC 0A uszkodzony sektor 09 próba transmisji DMA bloku przekr. granicę wielokr. 64KB 09 próba transmisji DMA bloku przekr. granicę wielokr. 64KB 07 błąd ładowania bloku parametrów 05 błąd inicjalizacji 04 brak sektora 02 brak znacznika adresu 02 brak znacznika adresu 01 złe polecenie 01 złe polecenie 08 błąd nałożenia transmisji 06 zmiana dyskietki 04 brak sektora 03 zabezpieczenie przed zapisem