Графические устройства

         

Загрузка таблицы символов 8x16 в знакогенератор



Пример 5.1. Загрузка таблицы символов 8x16 в знакогенератор

push es сохранение содержимого es
les bp, dword ptr RsFntl6; es:bp = адрес начала таблицы
mov ex, 256 количество символов в таблице
xor dx, dx смещение первого символа в таблице
mov bh, 16 количество байтов на символ
хог Ы, Ы номер таблицы в знакогенераторе
mov ax, llOOh код запроса "загрузить таблицу"
int 10h выполнение запроса
pop es восстановление содержимого es

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



Содержание раздела