Получить состояние дисковой подсистемы
| На входе: | AH = 01 |
| DL = Адрес дисковода (0, 1, ...,80h, 81h, ...) | |
| На выходе: | AL = Состояние дисковода после завершения последней операции |
| Примечание: | PC, XT, AT, PS/2 |
Эта функция может быть использована для анализа результата выполнения дисковой операции и получения кода ошибки. Передаваемый в регистре AL код ошибки функция берет из области данных BIOS - из байта с адресом 0000:0441h.
Код ошибки может принимать следующие значения:
| 00h | Успешное завершение операции |
| 01h | Неправильная команда |
| 02h | Не найдена адресная метка |
| 03h | Попытка записи на диск, защищенный от записи |
| 04h | Сектор не найден |
| 05h | Ошибка при сбросе (НМД) |
| 06h | Произошла замена дискеты |
| 07h | Неправильные параметры дисковода (НМД) |
| 08h | Переполнение канала ПДП (НГМД) |
| 09h | Переход за границу 64К при работе с ПДП |
| 0Ah | Обнаружен плохой сектор (НМД) |
| 0Bh | Обнаружена плохая дорожка (НМД) |
| 0Ch | Неправильный номер дорожки |
| 0Dh | Неправильный номер сектора при форматировании (НМД) |
| 0Eh | Обнаружена адресная метка управляющих данных (НМД) |
| 0Fh | Ошибка ПДП (НМД) |
| 10h | Обнаружена ошибка в CRC/ECC |
| 11h | Данные скорректированы с использованием ECC (НМД) |
| 20h | Сбой контроллера |
| 40h | Сбой при поиске дорожки |
| 80h | Таймаут - программа не успевает обрабатывать данные |
| AAh | Дисковод не готов (НМД) |
| BBh | Неизвестная ошибка (НМД) |
| CCh | Сбой при записи (НМД) |
| E0h | Ошибка регистра состояния (НМД) |
| FFh | Ошибка операции считывания (НМД) |