Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прогр.docx
Скачиваний:
23
Добавлен:
21.12.2018
Размер:
2.58 Mб
Скачать

Основные графические режимы vga

Номер режима

Разрешение

Число цветов

11h

640x480

2

12h

640x480

16

13h

320x200

256

Стандартные графические режимы SVGA могут быть 4-, 8-, 15-, 16-, 24- и 32-битными.

1) 4-битные режимы (16 цветов):

VGA

012h: 640x480 (64 Кб)

VESA VBE 1.0

102h: 800x600 (256 Кб)

104h: 1024x768 (192 Кб)

106h: 1280x1024 (768 Кб)

Каждый пиксель описывается одним битом, для вывода цветного изображения требуется программирование видеоадаптера на уровне портов ввода-вывода.

2) 8-битные режимы (256 цветов):

VGA

013h: 320x200 (64 Кб)

VBE 1.0

100h: 640x400 (256 Кб)

101h: 640x480 (320 Кб)

103h: 800x600 (512 Кб)

105h: 1024x768 (768 Кб)

107h: 1280x1024 (1,3 Мб)

VBE 2.0

120h: 1600x1200 (1,9 Мб)

Каждый пиксель описывается ровно одним байтом. Значение байта — нoмер цвета из палитры, значения цветов которой можно изменять, например вызывая подфункцию 09 видеофункции 4Fh.

3) 15-битные режимы (32 К цветов):

VBE 1.2

10Dh: 320x200 (128 Кб)

110h: 640x480 (768 Кб)

113h: 800x600 (1 Мб)

116h: 1024x768 (1,5 Мб)

119h: 1280x1024 (2,5 Мб)

VBE 2.0

121h: 1600x1200 (3,8 Мб)

Каждый пиксель описывается ровно одним словом (16 бит), в котором биты 0 – 4 содержат значение синей компоненты цвета, биты 5 – 9 — зеленой, а биты 10 – 14 — красной. Бит 15 не используется.

4) 16-битные режимы (64 К цветов):

VBE 1.2

10Eh: 320x200 (128 Кб)

111h: 640x480 (768 Кб)

114h: 800x600 (1 Мб)

117h: 1024x768 (1,5 Мб)

11Ah: 1280x1024 (2,5 Мб)

VBE 2.0

121h: 1600x1200 (3,8 Мб)

Так же как и в 15-битных режимах, каждый пиксель описывается ровно одним словом. Обычно биты 0 – 4 (5 бит) содержат значение синей компоненты, биты 5 – 10 (6 бит) — зеленой, а биты 11 – 15 (5 бит) — красной.

5) 24-битные и 32-битные режимы (16 М цветов):

VBE 1.2

10Fh: 320x200 (192 Кб)

112h: 640x480 (1 Мб)

115h: 800x600 (1,4 Мб)

118h: 1024x768 (2,3 Мб)

11Bh: 1280x1024 (3,7 Мб)

VBE 2.0

122h: 1600x1200 (7,7 Мб)

Основные функции BIOS при работе с графикой прерывания 10h

01h - Установить характеристики курсора.

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

На входе: AH = 01h - изменение размеров курсора;

CH = верхняя граница курсора:

D3-D0 верхняя граница курсора

D5-D4 00b - обычный курсор

01b - невидимый курсор

10b - мигающий курсор

11b - быстро мигающий курсор

D7-D6 не используются;

CL = нижняя граница курсора (0-31).

На выходе: Не используются.

02h - Установить положение курсора.

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

На входе: AH = 02h - установка позиции курсора;

BH = номер страницы видеопамяти;

DH = номер строки (0-24);

DL = номер столбца (0-79).

На выходе: Не используются.

mov ah,2 ; запрос на установку курсора

mov dh,8 ; номер строки - 8

mov dl,12 ; номер столбца - 12

mov bh,0 ; номер страницы

int 10H

03h - Получить положение курсора.

Программа может узнать в любое время, где расположен курсор. Это может потребоваться ей, например, для того, чтобы переместить курсор в следующую позицию (вправо, вверх, вниз и т. д.)

На входе: AH = 03h - определение размеров и координат

курсора

BH = номер страницы видеопамяти.

На выходе: CH = верхняя граница курсора;

CL = нижняя граница курсора;

DH = позиция текущей строки курсора;

DL = позиция текущего столбца курсора.

04h - Получить положение светового пера.

Световое перо используется относительно редко, однако если оно есть, то функция 04h позволит вам работать с этим устройством.

05h - Выбрать активную страницу дисплейной памяти.

Компьютер хранит, как правило, не один отображаемый образ экрана, а несколько. Для этого видеопамять (память для хранения видеоизображения, находится на плате видеоконтроллера) разбивается на страницы. Отображается только активная страница видеопамяти.

На входе: AH = 05h - выбор активной страницы

видеопамяти;

AL = номер страницы видеопамяти, которая

станет активной.

На выходе: Не используются.

06h, 07h - Прокрутка (скроллинг) окна вверх/вниз.

С помощью этих функций можно переместить выбранную область окна на заданное число строк вверх или вниз. Освободившееся место будет заполняться пустыми строками. Одно из применений этой функции - полная очистка экрана.

08h, 09h - Прочитать/записать символ и атрибут.

С помощью этих функций можно прочитать или записать символ и его атрибут. При записи символа можно задать число повторений.

Атрибуты символов: мерцание, цвет фона, интенсивность, цвет символов.

На входе: AH = 08h - чтение символа и его атрибутов;

BH = номер страницы видеопамяти.

На выходе: AL = ASCII-код символа;

AH = байт атрибутов символа.

Пример: считать символ и его атрибут из текущей позиции курсора на странице page:

...

mov ah,8 ; читаем символ и его атрибуты

mov bh,page ; выбираем страницу видеопамяти page