|
Драйверы устройств - это сердце BIOS. Эти
программы дают
возможность программисту, работающему на
языке ассемблера, работать
с устройствами IBM PC. Любая программа
может управлять устройствами
с помощью соответствующих
последовательностей команд на аппаратном
уровне. Тем не менее во многих случаях вы
можете работать с
устройствами стандартным образом, не
вникая в их специфические
особенности. Например, только небольшое
число программ делают с
дискетой что-либо еще кроме чтения и
записи. В гл.8 была написана
программа для чтения состояния дисковода.
Если нужно прочитать
некоторый сектор дискеты, можно
использовать для этой цели BIOS и
не переписывать эти программы заново.
Программист, работающий на
языке ассемблера, должен рассматривать
BIOS как инструмент,
сокращающий его работу.
Функции BIOS вызываются с помощью
программного прерывания.
Параметры для функции передаются через
регистры. Например,
следующие команды опрашивают текущий режим
дисплея
MOVAH,15
INT10H
Команда INT 10H вызывет драйыер
обслуживания дисплея, входящий
в BIOS. Драйвер дисплея имеет большие
возможности. Установка в
регистре AH числа 15 сообщает ему, что
программист хочет знать
текущее состояние дисплея. BIOS возвращает
информацию о состоянии
через регистр AL.
Каждый драйвер устройства входящий в BIOS
имеет свои
собственные входные и выходные параметры.
В общем случае регистр AH
определяет функцию для данного драйвера.
Остальные регистры BIOS
использует для любых других принимаемых
или возвращаемых
параметров. Каждая функция кратко описана
в техническом описании
IBM PC, а также снабжена другими важными
замечаниями. При разборе
драйверов мы вернемся к этим листингам, а
перед этим рассмотрим
другие векторы прерываний.
|