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