Иллюстрированный самоучитель по задачам и примерам Assembler

Функции 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 вывод осуществляется до конца текущей строки, после чего переходит на другую строку.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.