Прерывание BIOSРефераты >> Программирование и компьютеры >> Прерывание 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 твердого диска)