Операционная система MS DOS (том 2)


Функции BIOS для работы с дисками


Наилучшим и самым безопасным способом работы с дисками на физическом уровне является использование функций BIOS. Эти функции учитывают все особенности аппаратуры и предоставляют достаточно широкий набор средств доступа к дискам на физическом уровне.

Вся дисковая подсистема обслуживается прерыванием BIOS INT13h. Это прерывание выполняет множество функций. Для вызова определенной функции программа должна занести ее код в регистр AH, другие регистры, как правило, должны содержать параметры - номера используемых дисководов, цилиндров, головок, адреса таблиц параметров дискеты и жесткого диска и т.д.

Библиотека транслятора Microsoft QC 2.5 содержит специальную функцию _bios_disk(), сильно упрощающую работу с дисковыми функциями BIOS. В примерах программ, приведенных в книге, мы продемонстрируем как непосредственный вызов прерывания INT 13h, так и использование функции _bios_disk().

Мы приведем краткую таблицу функций прерывания INT 13h, после чего займемся детальным описанием этих функций. В примечании к описанию функций мы будем указывать типы компьютеров, на которых данная функция работоспособна.

00h Сброс дисковой подсистемы
01h Получить состояние дисковой подсистемы
02h Чтение сектора
03h Запись сектора
04h Проверка сектора
05h Форматирование дорожки
06h Форматирование дорожки (НМД)
07h Форматирование диска (НМД)
08h Получить текущие параметры дисковода (НМД)
09h Инициализация таблиц параметров жесткого диска
0Ah Чтение длинное (НМД)
0Bh Запись длинная (НМД)
0Ch Поиск цилиндра (НМД)
0Dh Альтернативный сброс дисковода (НМД)
0Eh Чтение буфера сектора (НМД)
0Fh Запись буфера сектора (НМД)
10h Проверка готовности дисковода (НМД)
11h Рекалибровка дисковода (НМД)
12h Проверка памяти контроллера (НМД)
13h Проверка дисковода (НМД)
14h Проверка контроллера (НМД)
15h Получить тип дисковода
16h Проверка замены диска
17h Установка типа дискеты
18h Установка среды носителя данных для форматирования
19h Парковка головок (НМД)
1Ah Форматирование диска (ESDI НМД)




- Начало -  - Назад -  - Вперед -