1*) Если разрешено взвешенное усреднение уровней серого, сохраняемое в регистре цвета значение представляет собой уровень серого (см. Int 10h, функция 12h, подфункция 33h — вкл./выкл. взвешенного усреднения).
2*) Переключение страниц палитры допускается только для 16-цветных текстовых или графических режимов, в 256-цветных графических режимах данная подфункция не поддерживается.
3*) Для заданного диапазона регистров палитры ЦАП вычисляется взвешенное среднее значений по каждой цветовой составляющей (0.3*R + 0.59*G + 0.11*B).
При переключении видеорежимов средствами BIOS (функция 00h) существует возможность разрешения или запрещения загрузки палитры значениями, принятыми по умолчанию. Для этого необходимо использовать подфункцию 31h функции 12h прерывания 10h.
В графических режимах VGA атрибутом пикселя является код его цвета. Функция 0Ch выводит атрибут пикселя в память дисплея. Выполнение функции зависит от бита 7 регистра AL. Если он равен 0, то атрибут точки просто записывается в память дисплея, в противном случае переданный в AL атрибут поразрядно складывается (XOR) с соответствующими битами памяти дисплея. Функция 0Dh позволяет получить атрибут пикселя из памяти дисплея. В младших битах AL возвращается результат (старшие биты сбрасываются в 0).
На рисунке 3.4 приведен фрагмент программы, проводящей линию по диагонали экрана в графическом режиме VGA 320х200x256 методом непосредственной записи в видеопамять. На рисунке 3.5 приведена программа, проводящая две линии с координатами (0,0—200,200) и (0,200—200,0) с использованием INT10h.
Для работы с видеокартами типа SVGA в графических режимах принят стандарт VESA (Video Electrical Standart Association). Стандарт VESA, по сути являясь расширением VIDEO BIOS, унифицирует интерфейс управления видеорежимами SVGA, получения информации по видеосистеме SVGA и т.п. В табл. 3.2 приведен список функций VESA для большинства SVGA BIOS.
MOV AX,13h ;Установка графики (320х200x256)
INT 10h
MOV BL,50 ;Число групп строк
MOV CL,2 ;Счетчик сдвига
L1: MOV AL,0C0h ;AL – маска первой точки в байте
MOV [DI],AL
ADD DI,2000h ;Переключение на нечетную
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.