Прерывание BIOS

_

17H _AT_ установить тип дискеты (используется перед операцией форматирования)

Вход: DL = номер устройства диска (0 или 1)

AL = тип носителя диска:

0 = не используется

1 = 360K дискета в 360K устройстве

2 = 360K дискета в 1.2M устройстве

3 = 1.2M дискета в 1.2M устройстве

КОДЫ ОШИБОК ДИСКА

INT 13H возвращает Carry-флаг (CF=1), если произошла ошибка. При этом в регистр

AH помещается один из приведенных ниже кодов ошибок. Эти же значения могут быть

возвращены при запросе состояния диска (подфункция 00H).

Замечание: при ошибке рекомендуется сброс подфункцией 00H и повторить 3 раза.

#Ош. Описание

00H последняя операция выполнена без ошибок

01H плохая команда: неверный запрос к контроллеру

02H плохая адресная марка

03H защита записи: попытка записи на защищенную дискету

04H ID сектора запорчен или не найден.

05H ошибка сброса -- _AT_

08H сбой DMA

09H перекрытие DMA: попытка записи через 64K-байтовую границу.

0bH встретился флаг плохой дорожки -- _AT_

10H сбой CRC: несовпадение контрольной суммы данных.

11H данные исправлены; исправимая ошибка; исправлено алгоритмом ECC -- _AT_

20H сбой контроллера

40H неудачный поиск. Запрошенная дорожка не найдена

80H Таймаут. Устройство не ответило

0bbH неопределенная ошибка -- _AT_

0ffH сбой операции опроса (sense) -- _AT_

Примечание.

_AT_ обозначает IBM AT или совместимый; базируется на 80286 CPU

_XT_ обозначает XT (обычно ссылается на отличия в BIOS твердого диска)


Страница: