Открой свой мир программирования и    
цифровых технологий
Службы ROM BIOS для дисков
Автор lisa   
19.07.2011 г.
Оглавление
Службы ROM BIOS для дисков
Служба ООН (в десятичной нотации 0): выполнить сброс дисковой системы
Служба 01Н (в десятичной нотации 1): получить статус диска
Служба 02Н (в десятичной нотации 2): прочитать секторы диска
Служба ОЗН (в десятичной нотации 3): записать секторы на диск
Служба 04Н (в десятичной нотации 4): проверить секторы диска
Служба 05Н (в десятичной нртации 5): форматировать дорожку диска
Служба 06Н (в десятичной нотации 6): форматировать дорожку фиксированного диска PC/XT
Служба 07Н (в десятичной нотации 7): форматировать фиксированный диск PC/XT
Служба 08Н (в десятичной нотации 8): получить параметры дисковода
Служба 09Н (в десятичной нотации 9): инициализировать таблицы параметров фиксированных дисков
Службы ОАН и ОВН (в десятичной нотации 10 и 11): чтение и запись длинные
Служба ОСН (в десятичной нотации 12): выполнить поиск цилиндра
Служба 0DH (в десятичной нотации 13): альтернативный сброс фиксированного диска
Служба ЮН (в десятичной нотации 16): проверить готовность диска
Служба ПН (в десятичной нотации 17): выполнить перекалибровку дисковода
Служба 15Н (в десятичной нотации 21): получить информацию о типе диска
Служба 16Н (в десятичной нотации 22): статус смены дискеты
Служба 17Н (в десятичной нотации 23): установить тип дискеты
Служба 18Н (в десятичной нотации 24): установить тип накопителя для форматирования
Служба 19Н (в десятичной нотации 25): выполнить парковку головок
Служба 1АН (в десятичной нотации 26): форматировать ESDI-устройство

ROM BIOS исходной машины IBM PC предлагала только шесть различных служб для работы с диском. Так как подсистемы по обслуживанию дискет и фиксированных дисков для семейства машин PC и PS/2 стали значительно более сложными, то и число служб ROM BIOS, поддерживающих дисковые операции ввода-вывода, возросло. Для обеспечения модульности и гибкости программного обеспечения ROM BIOS фирма IBM отделила друг от друга утилиты поддержки подсистемы для фиксированного диска и утилиты поддержки дискет. Тем не менее общее число служб ROM BIOS для диска возросло с шести для первоначальной IBM PC до 22 для PS/2 (табл.10.1).

Все службы ROM BIOS для диска активизируются с помощью прерывания 13Н (в десятичной нотации 19), и их выбор осуществляется загрузкой номера службы в регистр АН. Дисководы идентифицируются числом, передаваемым в регистре DL, при этом для индикации фиксированного диска старший бит устанавливается равным 1. Таким образом, первый дисковод компьютера для дискет определяется как имеющий номер ООН, а первый дисковод для фиксированного диска — номер 80Н.

С целью обеспечения доступа к информации о возможностях аппаратной части дискового контроллера и дискового накопителя ROM BIOS использует в своей работе ряд таблиц с описательными параметрами, называемых базовыми таблицами диска. ROM BIOS поддерживает сегментные адреса базовых таблиц диска, для этого она использует векторы прерываний. Адрес таблицы для текущего дисковода для дискет находится в векторе прерывания 1ЕН (0000:0074Н); адреса таблиц для первого и второго дисковода для фиксированных дисков находятся в векторах 41Н (0000:0104Н) и 46Н (0000:0118Н).

Для большинства программистов базовые таблицы дисков являются невидимой частью дисковых служб. Однако порой в специальных целях может возникнуть потребность в изменении некоторых базовых параметров диска. По этой причине ближе к концу данной главы мы включили краткое описание базовых таблиц диска.

В следующих разделах описывается каждая служба ROM BIOS в отдельности.



Последнее обновление ( 19.07.2011 г. )
 
След. »
Скачать книги по программированию