Скачиваний:
25
Добавлен:
15.06.2014
Размер:
33.79 Кб
Скачать

Вывод информации на экран.

Существует четыре способа вывода информации на экран. Для этих целей можно использовать: прерывания DOS, BIOS, прямой вывод в видео буффер, вывод через соответствующие порты. Рассмотрим первые три из них.

Прерывания DOS

Вывод текстовой информации средствами DOS (int 21h) - это вывод символа (функция 02h), вывод строки (функция 09h), кроме того, можно обращаться к экрану как к стандартному файлу вывода - stdout, при помощи соответствующих функций. Данные функции имеют следующий формат при вызове:

02h

вход

AH - 02h

DL - символ (либо его ASCII код)

выход

НЕТ ЗНАЧЕНИЙ

09h

вход

AH - 09h

DS:DX - смещение начала строки,

заканчивающейся символом '$'

Прерывания BIOS

Прерывания видео, обслуживаемые BIOS, обеспечивают доступ к видеоконтроллеру дисплея с помощью программного прерывания INT 10h. Оно поддерживает следующие типы функций:

1.инициализация дисплея в одном из нескольких форматов;

2.чтение из памяти экрана и запись в нее;

3.прокрутка окон.

Видеосистемы EGA/VGA

Данные видеосистемы представляют собой расширенную (по сравнению с CGA) видеосистему, обеспечивающую повышенное качество изображения. К EGA/VGA системам относят режимы с 0Dh до 13h. Для управления данными системами используется BIOS установленная ROM видеоадаптера. Подключение данных систем осуществляется на этапе запуска и тестирования CMOS. Драйвер EGA/VGA на этапе POST подключается на вектор прерывания, который вызывается по команде INT 10h, а вектор драйвера CGA/MONO перемещается и может быть вызван по команде INT 42h. Для совместимости с видеосистемами CGA/MONO, системы EGA/VGA используют одни и те же режимы отображения. Кроме того, они также реализуют дополнительные режимы, обусловленные расширенной способностью этих видеоподсистем.

Дополнительные функции

AH

Действие

Тип

10h

Установить регистры палитры

EGA/VGA

11h

Служба знакогенератора

EGA/VGA

12h

Альтернативный выбор

EGA/VGA

1Ah

Читать/записать код дисплея

VGA

1Bh

Читать состояние

VGA

1Ch

Сохранить/Восстановить значение

VGA

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

mov al,номер_режима+80h

xor ah,ah

int 10h

Соседние файлы в папке Ответы на билеты