КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Графический видеоконтроллер VGA
Адаптер VGА (Vidео Gгарhiсs Аггау) представляет собой дальнейшее развитие ЕGА. В основном он полностью совместим с адаптером ЕGА, поэтому мы приведем только его основные отличия. 1. Если ЕGА – дисплеи имеют цифровой вход, то VGА – это дисплей с аналоговым входом. Поэтому при формировании цвета пикселя из битовых плоскостей цвет слагается из трех основных цветов (красного, зеленого и синего), интенсивность каждого из которых может плавно варьироваться от нуля до максимального значения. 2. VGА имеет большее разрешение, чем ЕGА, и предоставляет пользователю три дополнительных режима: 640 х 480 – 2 цвета, 640x480 – 16 цветов, 320 х 200 – 256 цветов. В режимах 640 х 480 имеется одна графическая страница размером 153600 байт. В режиме 320 х 200 с 256 цветами используется несколько иной метод формирования цвета пикселя, чем в других режимах; за счет этого видеопамять разбивается на 4 страницы размером по 16К. Этот режим возможен только на аналоговых дисплеях или дисплеях с переменной частотой. 3. Частота генератора пикселей VGА принимает значения 25 или 28 Мгц (в отличие от 14 и 16 Мгц у ЕGА). 4. VGА имеет дополнительный порт ввода ЗССh, позволяющий считать содержимое многоцелевого регистра (см. описание порта ЗС2h в п. 7.6). Графические позиции ЗСАh и ЗССh, имеющиеся в ЕGА, у VGА отсутствуют.
Текст исходной программы Stck Segment Stack db 512 dup(?) Stck EndS
Data Segment mem_adr dw 0A000h color db? msk db? Data EndS
Code Segment Public 'Code' Assume CS:Code, DS:Data
START PROC FAR Mov AX, Data Mov DS, AX
Mov AX, 12h Int 10h
Mov AX, Mem_Adr Mov ES, AX
Mov DX, 3CEh Mov AL, 5 out DX, AL Inc DX Mov AL, 0 out DX, AL mov bx, 8d push bx mov bx, 0 n1: Mov msk, 10000000b Mov color, 4d CALL FILLRECT add bx, 1 cmp bx, 8d jne n1 pop bx add bx, 8d Mov msk, 01000000b Mov color, 12d CALL FILLRECT Mov msk, 00100000b Mov color, 14d CALL FILLRECT
Mov msk, 00010000b Mov color, 2d CALL FILLRECT
Mov msk, 00001000b Mov color, 09d CALL FILLRECT
Mov msk, 00000100b Mov color, 1d CALL FILLRECT
Mov msk, 00000010b Mov color, 6d CALL FILLRECT
Mov msk, 00000001b Mov color, 0d CALL FILLRECT
Mov AH, 0 Int 16h Mov AX, 0003h Int 10h Mov AH, 4Ch Int 21h START EndP FILLRECT PROC push ax push dx Mov DX, 3CEh Mov AL, 8 out DX, AL
Inc DX Mov AL, msk out DX, AL
Mov AL, ES:[BX] Mov AL, 0 Mov ES:[BX], AL
Mov DX, 3C4h Mov AL, 2 out DX, AL
Inc DX Mov AL, color out DX, AL Mov AL, 0FFh Mov ES:[BX], AL pop dx pop ax ret FILLRECT EndP Code EndS End START
Результат выполнения исходной программы
Текст доработанной программы Stck Segment Stack db 512 dup(?) Stck EndS
Data Segment mem_adr dw 0A000h color db? msk db? Data EndS
Code Segment Public 'Code' Assume CS:Code, DS:Data
START PROC FAR Mov AX, Data Mov DS, AX
Mov AX, 12h Int 10h
Mov AX, Mem_Adr Mov ES, AX
Mov DX, 3CEh Mov AL, 5 out DX, AL Inc DX Mov AL, 0 out DX, AL mov bx, 0d mov cx, 480d
label1: mov al, 04d call dop mov al, 12d call dop mov al, 14d call dop mov al, 02d call dop mov al, 09d call dop mov al, 01d call dop mov al, 06d call dop mov al, 00d call dop loop label1
Mov AH, 0 Int 16h Mov AX, 0003h Int 10h Mov AH, 4Ch Int 21h START EndP
dop proc push dx push cx mov cx, 10d label2: add bx, 1d Mov msk, 11111111b Mov color, al CALL FILLRECT dec cx cmp cx, 0 jne label2 pop dx pop cx dop endp
FILLRECT PROC push ax push dx Mov DX, 3CEh Mov AL, 8 out DX, AL
Inc DX Mov AL, msk out DX, AL
Mov AL, ES:[BX] Mov AL, 0 Mov ES:[BX], AL
Mov DX, 3C4h Mov AL, 2 out DX, AL
Inc DX Mov AL, color out DX, AL Mov AL, 0FFh Mov ES:[BX], AL pop dx pop ax ret FILLRECT EndP
Code EndS End START
Результат работы доработанной программы
Дата добавления: 2014-01-06; Просмотров: 399; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |