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

Загрузка таблиц знакогенератора - функция 11h

Функция 11h прерывания 10h предназначена для загрузки в видеопамять таблиц знакогенератора (наборов символов). При помощи данной функции можно загружать как стандартные таблицы знакогенератора, так и таблицы, самостоятельно разработанные программистом. Загружается либо вся таблица, либо ее часть. Функция позволяет легко русифицировать видеоадаптер (если это не видеоадаптер CGA или Hercules).

Функция 11h имеет одиннадцать различных подфункций, перечисленных ниже:

Номер подфункции

Назначение

0

Загрузка таблиц знакогенератора

1

Загрузка стандартного монохромного набора символов

2

Загрузка стандартного набора символов видеоадаптера CGA

3

Выбор активных таблиц знакогенератора (EGA)

4

Загрузка стандартного набора символов видеоадаптера VGA и SVGA

20h

Установка вектора прерывания 1Fh

21h

Использование графического режима для отображения символов пользователя

22h

Использование набора символов 8х14 из ПЗУ

23h

Использование набора символов 8х8 из ПЗУ

24h

Использование набора символов 8х16 из ПЗУ

30h

Получение информации об используемом наборе символов

Для подфункций 0, 1, 2, 3 и 4 установка бита D4 в регистре AL вызывает перезагрузку регистров контроллера ЭЛТ. Вновь устанавливаются значения принятые по умолчанию для регистров формы курсора и регистра высоты символа текста. Если используется эта возможность, вызов функции должен происходить сразу после выбора режима работы видеоадаптера. В противном случае вызов функции 11h может привести к непредсказуемым последствиям.

Загрузка набора символов пользователя - подфункция 00h

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

На входе:

AH

11h

AL

00h, 10h - загрузка набора символов пользователя

CX

Количество загружаемых символов. Может принимать значение от 1 до 256

DX

ASCII-код первого загружаемого символа. Используется для загрузки части набора символов

BL

Номер загружаемой таблицы знакогенератора - для видеоадаптера EGA доступны таблицы 0 - 3, для VGA и SVGA 0 - 7

BH

Количество байт, определяющих один символ в таблице символов

ES:BP

Адрес буфера, содержащего определение символов, загружаемых в таблицу знакогенератора

На выходе:

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

Загрузка набора символов из bios - подфункция 01h

Функция загружает стандартный набор символов размера 8х14 пикселов из ПЗУ BIOS во второй цветовой слой видеопамяти:

На входе:

AH

11h

AL

01h, 11h - загрузка набора символов 8х14

BL

Номер загружаемой таблицы знакогенератора (для видеоадаптера EGA доступны таблицы 0 - 3, для VGA 0 - 7)

На выходе:

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