Наиболее решающей причиной использования BIOS является управление дисплеем, так как DOS практически не предусматривает поддержки широких возможностей дисплеев IBM PC. Только с помощью вызова функций BIOS вы можете установить режим экрана, управлять цветами, получить информацию о дисплейном адаптере и т.д. Например, следующий код вызывает BIOS и устанавливает экран графического адаптера CGA в четырехцветный графический режим:
mov ah,0 ; функция BIOS установки
; режима
mov al,4 ; номер режима для 4цветной
; графики с разрешением 320х200
int 10h ; выполнить видеопрерывание
; BIOS для установки режима
Как вы наверное помните, мы уже говорили о том, что для установки видеорежима необходимо более 30 инструкций OUT. Теперь можно понять, что функция BIOS «Установить режим» избавляет вас от большого объема работы.
В BIOS предусмотрен также ряд функций, не связанных с управлением дисплеем, включающих в себя обработку нажатий клавиш и управление диском. Однако в общем случае эти задачи лучше выполнять с помощью функций DOS.
Основным справочником по функциям BIOS является «Справочное руководство по интерфейсу с базовой системой вводавывода».
Иногда необходимо обратиться к аппаратным средствам
Теперь, когда вы знакомы со всеми доводами в пользу необходимости использования функций DOS (или, если это абсолютно необходимо, функций BIOS), пришло время рассказать о тех случаях, когда можно посоветовать вам обратиться непосредственно к аппаратуре. Например, программное обеспечение коммуникаций управляет последовательным портом IBM PC непосредственно с помощью инструкций IN и OUT, поскольку ни DOS, ни BIOS не предусматривают адекватной поддержки для последовательных коммуникаций. Аналогично, высокопроизводительная графика должна выполняться с помощью непосредственного обращения к памяти дисплея, так как DOS не поддерживает графику, а BIOS делает это довольно медленно.
Основным правилом при работе с аппаратными средствами является уверенность в том, что у вас нет другой альтернативы. Если имеются функции DOS или BIOS, которые вы можете использовать, то используйте их. Если же нет, обращайтесь к аппаратуре непосредственно. Кроме того, целью программирования является создание полезных программ, а не следование правилам. Другой стороны, чем меньше правил вы нарушаете, чем с меньшим числом проблем вы столкнетесь.
