Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование видеоадаптеров EGA, VGA и SVGA.doc
Скачиваний:
139
Добавлен:
01.05.2014
Размер:
4.51 Mб
Скачать

Регистр установки/сброса (Set/Reset Register - srr) (индекс 0)

Регистр SRR совместно с регистром разрешения установки/сброса (Set/Reset Enable Register), управляет записью данных в видеопамять. Возможности использования регистра SRR разъясняются при описании регистра разрешения установки/сброса.

Приведем формат регистра установки/сброса:

D0 Данные, записываемые в цветовой слой 0.

D1 Данные, записываемые в цветовой слой 1.

D2 Данные, записываемые в цветовой слой 2.

D3 Данные, записываемые в цветовой слой 3.

D7-D4 Зарезервировано.

По умолчанию во все биты регистра записываются нулевые значения.

Регистр разрешения установки/сброса (Set/Reset Enable Register - srer) (индекс 1)

Регистр разрешения установки/сброса позволяет при записи в видеопамять для одних цветовых слоев использовать данные от центрального процессора, а для других - из регистра установки/сброса (рис. 4.10).

Если биты регистра, управляющие цветовыми слоями, содержат единицы, то при выполнении операции записи, в соответствующие цветовые слои записывается информация из регистра установки/сброса. В остальные слои видеопамяти заносятся данные процессора.

Теперь приведем формат регистра разрешения установки/сброса:

D0 Разрешение использования данных из регистра установки/сброса для цветового слоя 0.

D1 Разрешение использования данных из регистра установки/сброса для цветового слоя 1.

D2 Разрешение использования данных из регистра установки/сброса для цветового слоя 2.

D3 Разрешение использования данных из регистра установки/сброса для цветового слоя 3.

D7-D4 Зарезервировано.

По умолчанию во все биты регистра записываются нулевые значения.

Заметим, что возможность использования регистров установки/сброса можно реализовать только в нулевом режиме записи. Режим записи устанавливается регистром режима работы графического контроллера (Mode Register, индекс 5). В нулевом режиме записи, если запрещено выполнение операции маскирования пикселов (регистр битовой маски содержит значение 0FFh), то каждый байт, записываемый процессором в видеопамять определяет 8 пикселов в одном или нескольких цветовых слоях.

Рассмотрим на рисунке 4.10 применение регистров установки/сброса. Пусть графический контроллер находится в нулевом режиме работы, и регистр битовой маски равен 0FFh (используются только данные от процессора). В этом случае можно использовать регистры установки/сброса.

Допустим, что после преобразования данных, записываемых процессором в видеопамять, в соответствии со значением регистра циклического сдвига и выбора функций, данные имеют следующий вид:

байт 11110000b передается в третий слой видеопамяти,

байт 00000011b передается во второй слой видеопамяти,

байт 00110011b передается в первый слой видеопамяти,

байт 00110011b передается в нулевой слой видеопамяти.

Данные, записываемые в видеопамять зависят от значения регистра разрешения установки/сброса. Биты D3 и D0, регистра разрешения установки/сброса равны нулю, поэтому в третий слой и нулевой слой видеопамяти данные заносятся без изменения. Биты D2 и D1 регистра разрешения установки/сброса равны единице, значит во второй и первый слои видеопамяти записываются данные в соответствии со значением битов D2 и D1 регистра установки/сброса. То есть во второй слой записывается байт 00000000b, а в первый - 11111111b.

PICTURE._FIG_24.PCX;6";4.308";PCX

Рисунок 4.10 Использование регистров установки/сброса