Регистр 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 Логические операции и операция циклического сдвига
Логические операции можно выполнять только в нулевом и втором режиме записи.