Функции BIOS для работы с экраном
Работа с экраном средствами BIOS производится с помощью набора функций прерывания 10h. С помощью этих функций поддерживаются текстовый и графический режимы работы монитора. В данном разделе будут рассмотрены некоторые функции вывода текста в текстовом режиме.
Установка видеорежима (00h int 10h)
Любой дисплейный адаптер поддерживает несколько текстовых и графических режимов. Переключение между эт000h режимами производится с помощью функции 00h int 10h.
Вход: АН = 00h установить видеорежим:
- AL – номер видеорежима (если бит 7 регистра AL = 0, то экран очищается, в обратном случае (AL. 7=1) содержимое экрана не изменяется).
Номеров видеорежимов много, нумерация режимов с высоким разрешением (SVGA) зависит от производителя видеоадаптера. Мы не будет приводить никаких сведений по этому поводу, при необходимости информацию о нумерации видеорежимов можно получить из соответствующих источников.
Установка позиции курсора (02h int 10h)
Функция 02h позволяет изменить позицию курсора и сделать ее начальной для последующего вывода. Заметим, что среди функций MS DOS нет подобной функции и функцию 02h int 10h BIOS можно использовать в комбинации с функциями MS DOS для организации форматированного вывода на экран.
Вход: АН = 02h – установить позицию курсора:
- ВН = номер видеостраницы (зависит от используемого видеорежима);
- DH = строка (00h – верх);
- DL = колонка (00h – левая).
Получение позиции курсора (03h int 10h)
Функция 03h позволяет получить текущую позицию курсора. Аналогично сказанному выше, среди функций MS-DOS нет подобной функции и функцию 03h > int 10h BIOS также можно использовать в комбинации с функциями MS-DOS.
Вход: АН = 03h – получить позицию курсора;
- ВН – номер видеостраницы (зависит от используемого видеорежима).
Выход: DH = строка текущей позиции курсора (00h – верх);
- DL – колонка текущей позиции (00h – левая);
- СН = номер начальной строки курсора;
- CL = номер последней строки курсора.
Запись символа и его атрибута в видеопамять (09h int 10h)
Функция 09h предназначена для записи ASCII-кода символа и его атрибута непосредственно в видеопамять, причем сделать это можно с количеством повторений, заданных в регистре СХ.
Вход: АН = 09h – запись символа и его атрибута в текущую позицию курсора:
- ВН = номер видеостраницы;
- AL = ASCII-код символа;
- BL = байт-атрибут;
- СХ = число повторений.
Для вывода одного символа содержимое регистра СХ должно быть равно 1. В текстовом режиме для СХ>1 вывод осуществляется до конца текущей строки, после чего переходит на другую строку.