КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Архитектурные компоненты IBM PC-совместимого компьютера


Стандартные драйверы дисковых функций BIOS (включая и расширенный сер¬вис) имеют однозадачное происхождение. Во время выполнения функции значи¬тельное процессорное время может затрачиваться на ожидание завершения опе¬рации устройством. Драйверы многозадачного режима построены иначе: у них есть вызывающая часть, инициализирующая начало операции, и обработчик аппа¬ратного прерывания от контроллера, сообщающий операционной системе о вы-полнении операции и результате.
Традиционный сервис BIOS
Традиционный дисковый сервис работает в 16-разрядном режиме процессора, все параметры вызова передаются через регистры процессора. Адрес сектора задается в системе CHS и размещен весьма специфично. Сервис вызывается программным прерыванием Int 13h, при вызове принимаются следующие соглашения:

номер функции задается в регистре АН и не должен превышать 3Fh;

логический номер диска задается в регистре DL (бит 7 = 0 — признак обращения к НГМД);

номер цилиндра (О-1023) задается в регистре СН (младшие8бит)иСЦ7:6] (стар¬
шие 2 бита);

номер головки (0-255) задается в регистре DH;

номер начального сектора (1-63) задается в регистре CL [ 5 :0];

количество секторов, участвующих в операции, 8 бит — в регистре AL (0-255);

указатель на начало буфера оперативной памяти для считываемых и записы¬
ваемых данных (address of buffer) — в регистрах Е S: ВХ;

результат выполнения операции определяется по флагу переноса: С F = 0 —успешное выполнение операции, CF = 1 — обнаружены ошибки (код состояния возвращается в регистре АН, код завершения последней операции с дискетами хранится по адресу 40:4lh, с жесткими дисками — 40:74h);

таблица параметров диска для дискет (DPT) задана указателем в памяти по
адресу 0:78h, для жестких дисков (HDPT) — 0:104h или 0:118h.

488

Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера

Список функций традиционного сервиса приведен в табл.

Hosted by uCoz