При чтении процессором данных из видеопамяти они также запоминаются в регистрах-защелках, расположенных на плате видеоадаптера. Когда затем выполняется цикл записи, то над данными, находящимися в этих регистрах, и над данными, поступающими от процессора могут производится следующие логические операции:
Таким образом, видеоадаптер может выполнять часть работы по обработке видеоданных.
Рисунок 6.16 иллюстрирует выполнение графическим контроллером операции записи данных в видеопамять:
Рисунок 6.16 Запись данных в видеопамять.
Байт, записываемый прцесоором в видеопамять (11100001b) поступает в графический контроллер. В соответствии со значением регистра циклического сдвига и выбора функции (регистры адаптеров описаны в следующем разделе), происходит циклический сдвиг на один бит содержимого записываемого в видеопамять байта. Затем результат складывается по логике ИЛИ с содержимым регистров-защелок. Какая булева функция используется - ИЛИ, И, ИСКЛЮЧАЮЩЕЕ ИЛИ также определяется регистром циклического сдвига и выбора функции.
Дальнейшие преобразования происходят в соответствии со значениями регистра разрешения установки/сброса и регистра установки/сброса:
Затем в соответствии с состоянем регистра битовой маски происходит запись данных в видеопамять:
Заметим, что хотя процессор может читать данные только из одного цветового слоя, запись данных в регистры-защелки происходит из всех четырех цветовых слоев. Эту особенность можно использовать для быстрого копирования областей экрана.