Студопедия

КАТЕГОРИИ:


Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.