Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Derevo_PZOZ_Lab / обр_изо_№1.doc
Скачиваний:
10
Добавлен:
23.03.2015
Размер:
360.52 Кб
Скачать

Рис з Шестнадцатеричный дамп текстового видеобуфера Атрибуты

Несмотря на то что во всех видеоподснстемах компьютеров семейств 1ВМ РС и РS/2 применяется один и тот же способ представления текстовых символов, способы интерпретации байтов атрибута различны. В общем, байт атрибута рассматривается как две тетрады. Младшая тетрада (биты 0 — 3) определяет основной атрибут переднего плана, т. е. цвет и яркость самого знака. Старшая тетрада (биты 4 — 7) представляет собой атрибут фона, хотя в некоторых случаях бит 7 может управлять мерцанием.

Четырехбитовые основные и фоновые атрибуты в конечном счете декоднруются в сигналы управления видеомонитором. В простейшем случае у адаптера СGА 4 бита соответствуют непосредственно трем цветовым сигналам и яркостному сигналу В других видеоподсистемах схема декодирования может быть и более сложной, как, например, в ЕGА.

Адаптер еgа

В 16-цветных текстовых режимах ЕСА использует формат байта атрибута, идентичный этому формату для СGА. Однако 4-битовые значения основного и фонового атрибутов непосредственно отображаемым цветам не соответствуют. Вместо этого каждое 4-битовое значение маскируется четырьмя младшими битами регистра разрешения цветовой плоскости (12Н) контроллера атрибутов, а 4-битовый результат указывает на один из шестнадцати регистров палитры EGA (рис. 5). Каждый бит 6-битового значения цвета, содержащегося в указанном регистре палитры, соответствует одному из 6 RGB-сигналов, управляющих монитором (рис. 6).

ЕGА-совместимый цветной монитор управляется шестью цветовыми сигналами — тремя основными (высокой интенсивности) и тремя дополнительными (низкой интенсивпосги). Все 64 комбинации этих шести сигналов появляются как различные цвета с различной или одинаковой итенсивностью. В 200-строчном цветном мониторе или в 200-строчном режиме ЕGA-совместимого монитора биты 0, 1 и 2 управляют цветовыми сигналами, а бит 4 — сигналом интенсивности.

4-битовый атрибут

Логическое И

Регистр используемой цветовой матрицы

Регистры палитры 0-0FH

6-битовый цифровой сигнал,подаваемый на видеодисплей (по 2 бита для красного, зеленого, синего)

Рис. 5. Атрибуты и цвета адаптера ЕGА

Метод косвенного генерирования цвета через регистры палитры более сложен, нежели прямой метод адаптера CGA, но оказывается более гибким. Можно выбирать основные и фоновые цвета Рис. 6. Значения регистра палитры EGA и соответствующие цветовые сигналы для монитора. Номера контактов даются для 9-штырькового разъема адаптера EQA

Как в адаптерах CGA и MDA, старший бит каждого байта атрибута управляет мерцанием или интенсивностью цвета фона. Бит 3 регистра управления режимом контроллера атрибутов EGA (регистр 10H адресуется с помощью порта ЗС0Н) является битом разрешения мерцания. Установка .его в единицу разрешает мерцание, поэтому регистр палитры определяет только три младших бита тетрады фона (биты 4 — 6 байта атрибута). Таким образом, когда разрешено мерцание, для выбора цвета фона можно обращаться только к первым восьми регистрам палитры. Сброс бита разрешения мерцания запрещает мерцание, обеспечивая доступ ко всем 16 регистрам палитры (листинг 2).

Листинг 2. Сброс бита разрешенияМерцания для адаптеров MCGA, EGA и VGA

Когда с помощью BIOS адаптера EGA выбирается текстовый режим, в регистры палитры по умолчанию записываются соответствующие цветам CGA значения. Значения цветов во вторых восьми регистрах палитры являются яркими вариантами первых восьми. Таким образом, если рассматривать бит 7 байта атрибута символа как бит "интенсивности фона или мерцания", программа будет выполняться с адаптерами EGA и CGA.

Изменять содержимое любого регистра палитры можно как непосредственно, так и при помощи функции 10H прерывания INT 10H (листинг 3). Использовать процедуру BIOS более удобно, так как при этом устраняется необходимость написания аппаратно-зависимых программ. После того, если задана таблица значений соответствующих цветов, процедура BIOS может загрузить одновременно все 16 регистров палитры Тем не менее иногда, например в мультипликации, для быстрой смены цветов на экране может потребоваться непосредственное программирование регистров палитры.

mov

ax,

40h

mov

es,

ax

ES

mov

dx,

es:[63h]

DX

add

dl,

6

DX

push

dx

COX

Cli

in a I

, dx

сбс

mov

dl ,

OCOh

атр DX

mov

al,

PaletteRegNumber

out

dx,

al

изм

mov

al,

PaletteRegValue

out

dx,

al

pop

dx

DX

in a I

, dx

сбр

mov

dl,

OCOh

mov

al,

20h

out

dx.

al

уст адр

Соседние файлы в папке Derevo_PZOZ_Lab