Программирование видеоадаптеров

       

Регистр циклического сдвига и выбора функции (Data Rotate & Function Select - DRFS) (индекс3)


Регистр DRFS выполняет две различные функции, отраженные в его названии:

       Циклический сдвиг данных, записываемых центральным процессором в видеопамять. Чтобы разрешить операцию циклического сдвига надо использовать нулевой режим записи.

       Выполнение логических операций над данными записываемыми в видеопамять и содержимым регистров-защелок.

D2-D0    Счетчик сдвига.

D4-D3    Биты выбора логической функции.

D7-D5    Не используются.

После выполнения BIOS установки режима работы видеоадаптера биты регистра DRFS содержат нулевые значения.

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



D2 D1 D0

Данные циклически сдвигаются вправо на следующее количество битов

0  0  0

Ноль, сдвиг не происходит

0  0  1

Один бит

0  1  0

Два бита

0  1  1

Три бита

1  0  0

Четыре бита

1  0  1

Пять бит

1  1  0

Шесть бит

1  1  1

Семь бит

Во время выполнения процессором операции чтения из видеопамяти одновременно происходит запись данных из всех четырех цветовых слоев (по считываемому адресу) в регистры-защелки. Каждому цветовому слою видеопамяти соответствует один 8-битовый регистр-защелка. Когда процессор начнет записывать данные в видеопамять (возможно уже по другому адресу), адаптер может комбинировать их с данными из регистров-защелок. Вид выполняемой логической операции будет зависеть от содержимого битов выбора логической функции:

D4  D3

Логическая операция

0   0

Запись не модифицированных данных

0   1

И

1   0

ИЛИ

1   1

ИСКЛЮЧАЮЩЕЕ ИЛИ

Следует отметить, что операция циклического сдвига выполняется до выполнения логических функций.

Регистр DRFS можно использовать для быстрого копирования областей видеопамяти с возможной их модификацией.

Рисунок 4.12 иллюстрирует выполнение логической операции ИЛИ. Регистр циклического сдвига и выбора функции содержит число 00010000b. После операции чтения данные из всех четырех слоев записываются в регистры-защелки. Затем выполняется операция записи. Данные процессора в соответствии с состоянием регистра циклического сдвига и выбора функции складываются по логике ИЛИ со значением регистров-защелок и помещаются в видеопамять.

PICTURE._FIG_26.PCX;6";4.308";PCX

Рисунок 4.12   Логические операции и операция циклического сдвига

     Логические операции можно выполнять только в нулевом и втором режиме записи.



Содержание раздела