Информационные технологииStfw.Ru 🔍

Видео-функции bios

🕛 28.12.2008, 20:28
Работа с видео-контроллером выполняется как правило с
использованием стандартного обеспечения BIOS, расположенного в
ПЗУ контроллера в данном случае размером 16К байт с начальным
адресом на шине процессора C0000h. Ниже представлены возможные
видео-функции, вызываемые с помощью прерывания 10h [6,7,8].
00h Установка режима AH=00h, AL=режим из приведенной выше таблицы 1.1. Функция не очищает экран, если старший бит AL установлен в 1.
01h Установка курсора в текстовом режиме AH=01h, CH=начало курсора (разряды 0-4), CL=конец курсора (разряды 0-4). Сделать курсор невидимым можно установив его на строку 25 или задав CH, равным высоте символа. Форма курсора устанавливается для всех страниц одинаковой (подпрограмма Cursor ).
02h Позиционирование курсора AH=02h, BH=страница, DH=строка (0-24), DL=столбец (0-79). В графическом режиме определяется логическое положение курсора (подпрограмма VGA_cls ).
03h Чтение координат и формы курсора AH=03h, DH=страница. Возвращает: CH=начало курсора, CL=конец курсора, DH=строка координата, DL=столбец координата.
05h Установка активной страницы AH=05h, AL=номер страницы (0-1 для режима 10h, (0-3 для режима 03h)
06h Сдвиг окна вверх AH=06h, AL=число смещаемых строк, BH=значение атрибута для освобождаемой области, CH=верхняя строка окна, CL=левый столбец окна, DH=нижняя строка окна, DL=правый столбец окна. Подпрограмма VGA_cls .
07h Сдвиг окна вниз AH=07h, AL=число смещаемых строк, BH=значение атрибута для освобождаемой области, CH=верхняя строка окна, CL=левый столбец окна, DH=нижняя строка окна, DL=правый столбец окна.
08h Чтение символа и атрибута, адресуемых курсором AH=08h, BH=страница. Возвращает: AH=атрибут символа, AL=символ.
09h Вывод адресуемого курсором символа с атрибутом AH=09h, AL=ASCII код символа, BH=страница, BL=атрибут, CX=число печатаемых символов. Курсор во время печати не перемещается. В текстовом режиме в конце строки выполняется переход на новую, управляющие коды (BELL,LF,CR) функций не выполняют, а печатаются. В графическом режиме если старший разряд байта атрибутов установлен, символ печатается с выполнением функции XOR. Близкая реализация дана в приложении 2 программе EGA .
0Ah Вывод символа, адресуемого курсором AH=0Ah, AL=ASCII код символа, BH=страница, CX=число печатаемых символов. Курсор во время печати не перемещается. Аналогична функции 09, за исключением использования атрибутов.
0Bh Установка цветовой палитры (для режима среднего разрешения) AH=0Bh, Близкая реализация дана в приложении 2 программе EGA .
0Ch Запись точки AH=0Ch, AL=цвет точки (0-15), CX=X-координата (0-639, для режима 10h), DX=Y-координата (0-349, для режима 10h), BH=страница (0-1, для режима 10h). Реализация функции представлена в приложении 2 программе EGA .
0Dh Чтение точки AH=0Dh, CX=X-координата, DX=Y-координата, BH=страница. Возвращает: AL=цвет точки. Близкая реализация функции представлена в приложении 2.
0Eh Печать символа с продвижением курсора AH=0Eh, AL=ASCII код символа, BL=цвет в графическом режиме, BH=страница. Действительны символы управления BELL, BS, CR, LF. В текстовом режиме действительны атрибуты предыдущей печати на текущем знакоместе. В графическом - необходимо задание цвета в регистре BL.
0Fh Определение текущего режима AH=0Fh. Возвращает: AL=режим, AH=число символов в строке, BH=номер активной страницы. Смотри пример VGA_cls в приложении 1.
10h Загрузка палитры AH=10h, AL=0 - установка регистров палитры, BL=регистр, BH=значение: разряды 7 6 5 4 3 2 1 0 . . r g b R G B - ===== интенсивность 1/3 2/3 AL=1 - установка регистра окантовки, BH=значение. AL=2 - установка регистров палитры и окантовки, ES:DX - указатель на таблицу зачений длиной 17 байтов (последний - окантовка). AL=3 - переключатель интенсивность/мерцание значения разряда 7 атрибута, BL=0 - определяет мерцание символа, BL=1 - определяет интенсивность фона. Возможная реализация функции представлена в приложении 2.
11h Загрузка знакогенератора AH=11h, AL=00h-знакогенератор пользователя (текст), ES:BP=указатель на таблицу, CX=число символов, DX=смещение в таблице, BL=блок (0-3), BH=число байтов на символ. AL=01h-знакогенератор ROM 8х14 (моно), BL=блок (0-3). AL=02h-знакогенератор ROM 8х8 двойной (текст), BL=блок (0-3). AL=03h-установка определенного блока (текст), BL= разряды 3 2 1 0 === - | +- когда сброшен | бит_3 атрибута, +- когда установлен бит_3 аттрибута AL=10h-знакогенератор пользователя (текст), ES:BP=указатель на таблицу, CX=число символов, DX=смещение в таблице, BL=блок (0-3), BH=число байтов на символ. AL=11h-знакогенератор 8х14 (моно), BL=блок (0-3). AL=12h-знакогенератор 8х8 двойной (текст), BL=блок (0-3). AL=20h-знакогенератор пользователя 8х8 (граф), ES:BP=указатель на таблицу для символов 128-255 (INT 1Fh для режимов < 7). AL=21h-знакогенератор пользователя (граф), ES:BP=указатель на таблицу символов 0-255 (INT 43h для режимов > 7). CX=число байт на символ, BL=индекс: 00-DL=число строк, 01-14 строк, 02-25 строк, 03-43 строки. AL=22h-знакогенератор 8х8 (граф), BL=индекс. AL=23h-знакогенератор 8х8 двойной (граф), BL=индекс. AL=30h-возвращает информацию о знакогенераторе, BH=индекс указателя: 0-текущий для INT 1Fh, 1-текущий для INT 43h, 2-ROM 8x14, 3-ROM 8x8 двойной, 5-ROM 9x14 альтернативный. Возвращает: ES:BP=указатель, CX=число линий на символ, DL=число линий. Функции 10h, 11h и 12h перепрограммируют регистры видео-контроллера и поэтому должны следовать за установкой режима. Пример загрузки 2-х знакогенераторов в алфавитно/цифровом режиме и печать в одной строке двумя одновременно без потери управления яркостью представлен в приложении 1 (подпрограмма two_Fons ).
13h Печать строки символов AH=13h, BH=страница, BL=атрибут (для AL=0,1), CX=длина строки, DH=строка координата, DL=столбец координата, ES:BP=указатель на строку, AL=0: все символы с атрибутами в BL, курсор не устанавливается; AL=1: все символы с атрибутами в BL, курсор устанавливается; AL=2: атрибуты в строке, курсор не устанавливается; AL=3: атрибуты в строке, курсор устанавливается; Функция работает и в текстовом и графическом режимах, сохраняя за собой подгруженный в EGARUS знакогенератор.
15h Чтение характеристик дисплея AH=15h, Возвращает [8]: AX=индекс типа дисплея: 5153h-color, 5151h-mono. ES:DI=указатель на таблицу длиной 7 слов 1: номер модели дисплея, 2: точек на метр по вертикали, 3: точек на метр по горизонтали, 4: число точек по вертикали, 5: число точек по горизонтали, 6: высота точки в микрометрах, 7: ширина точки в микрометрах.

EGA   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉