Вход : AH =
Биты 7 6 5 4 3 2 1 0
| | | | | | | +- Область диска, затронутая
| | | | | +-+--- операцией 0 - считать/1 - записать:
| | | | | 00 = область операционной системы DOS,
| | | | | 01 = область таблицы FAT; 10=каталог;
| | | | | 11 = область данных
| | | | +------- Сбой допускался: 0 = нет; 1 = да
| | | +--------- Повторная попытка допускалась:0=нет;1=да
| | +----------- Допускалось игнорирование: 0=нет; 1=да
| +------------- (неиспользуемый)
+--------------- 0 = ошибка из-за диска; 1 = другая
BP : SI = указатель на блок управления заголовком уст-
ройства, по которому можно отыскать допол-
нительную информацию
DL = код ошибки устройства, как следует ниже
Возврат : AL = 0 (игнорировать ошибку)
AL = 1 (повторить ошибку)
AL = 2 (завершить программу по прерыванию
"int 23h")
AL = 3 (системный сбой; вызов, производимый в
данное время).
Коды ошибок при обработке прерывания "int 24h" - адрес
обработчика критических ошибок:
00h = Попытка записать на диск, имеющий защиту от записи
01h = Неизвестное устройство
02h = Дисковод не готов
03h = Неизвестная команда
04h = Ошибка в данных (CRC)
05h = Ошибочная длина структуры запроса
06h = Ошибка при поиске дорожки
07h = Неизвестный тип носителя
08h = Сектор не найден
09h = Вывод на бумажный носитель
0Ah = Сбой при записи
0Bh = Сбой при чтении
0Ch = Необычная ошибка
|