Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование видеоадаптеров EGA, VGA и SVGA.doc
Скачиваний:
153
Добавлен:
01.05.2014
Размер:
4.51 Mб
Скачать

Выбор режима работы - функция 00h

Функция 00h прерывания 10h позволяет задать любой стандартный режим работы видеоадаптера:

На входе:

AH

00h

AL

Номер устанавливаемого режима работы видеоадаптера, если бит D7 = 1, то при установке режима видеопамять не очищается

На выходе:

Не используются

Приведем пример выбора режима видеоадаптера:

mov ah, 0 mov al, 3 ; Выбираем режим номер 3 (16 цветной, текстовый, int 10h ; разрешение 25х80 символов)

Изменение формы курсора - функция 01h

Функция 01h позволяет изменить вертикальные размеры курсора путем задания верхней и нижней границ курсора (рис. 5.1). Горизонтальные размеры курсора всегда одинаковы и равны ширине одного символа. Курсор отображается только в текстовых режимах работы видеоадаптера.

На входе:

AH

00h

CH

Верхняя граница курсора. Если регистр CH содержит значение 20h курсор не отображается

CL

Нижняя граница курсора

На выходе:

Не используются

При выборе режима работы видеоадаптера BIOS устанавливает следующие значения для верхней и нижней границ курсора:

w Для монохромного и улучшенного цветного монитора верхняя граница = 11h, а нижняя = 12h.

w Для цветного монитора верхняя граница = 6h, а нижняя = 7h.

PICTURE._FIG_35.PCX;6";4.308";PCX

Рисунок 5.1 Изменение положения курсора

Изменение положения курсора - функция 02h

Функция 02h задает текущее положение курсора на экране монитора. Если видеопамять разделена на несколько страниц, то каждая из них имеет свой курсор, координаты которого можно устанавливать отдельно.

Координаты курсора определяют не только место на экране, где он отображается, но также и позицию, начиная с которой соответствующие функции BIOS будут выводить на экран строки или отдельные символы.

На входе:

AH

02h

BH

Номер страницы видеопамяти

DH

Номер строки

DL

Номер столбца

На выходе:

Не используются

Определение положения и формы курсора - функция 03h

Функция 03h позволяет узнать размер и текущие координаты курсора для любой страницы видеопамяти:

На входе:

AH

03h

BH

Номер страницы видеопамяти

На выходе:

CH

Верхняя граница курсора

CL

Нижняя граница курсора

DH

Позиция текущей строки курсора

DL

Позиция текущего столбца курсора

Данная функция предназначена для использования только в текстовых режимах видеоадаптера.

Использование светового пера - функция 04h

Функция 04h позволяет определить подключено ли к видеоадаптеру световое перо или нет. Если световое перо подключено, можно определить его координаты. Функция позволяет узнать позицию светового пера в текстовых и в графических координатах.

Световое перо видеоадаптера EGA программно не полностью совместимо с CGA, в результате чего программы поддерживающие возможность использования светового пера для видеоадаптера CGA будут работать неправильно с видеоадаптером EGA. Видеоадаптеры VGA и SVGA не имеют светового пера.

На входе:

AH

04h

На выходе:

AH

0 - световое перо не подключено (все остальные регистры не содержат полезной информации);

1 - световое перо подключено

CH

Координаты вертикальной позиции курсора в пикселах (графические режимы с низким разрешением - 04h, 05h, 06h)

CX

Координаты вертикальной позиции курсора в пикселах (графические режимы с высоким разрешением)

BX

Координаты горизонтальной позиции курсора в пикселах

DH

Номер строки, на которой расположен курсор

DL

Номер столбца на котором расположен курсор