Assembler - язык неограниченных возможностей


Регистры графического контроллера (03CEh– 03CFH)


Для обращения к регистрам графического контроллера следует записать индекс нужного регистра в порт 03CEh, после чего можно будет читать и писать данные для выбранного регистра в порт 03CFh. Если требуется только запись в регистры, можно просто поместить индекс в AL, посылаемый байт — в АН и выполнить команду вывода слова в порт 03CEh. Этот контроллер, в первую очередь, предназначен для обеспечения передачи данных между процессором и видеопамятью в режимах, использующих цветовые плоскости, как, например, режим 12h (640x480x16).

    00h: Регистр установки/сброса

    биты 3 – 0: записывать FFh в цветовую плоскость 3 – 0 соответственно

01h: Регистр разрешения установки/сброса

    биты 3 – 0: включить режим установки/сброса для цветовой плоскости 3 – 0

    В этом режиме данные для одних цветовых слоев получают от CPU, а для других — из регистра установки/сброса. Режим действует только в нулевом режиме работы (см. регистр 05h).

02h: Регистр сравнения цвета

    биты 3 – 0: искомые биты для цветовых плоскостей 3 – 0

    Используется для поиска пикселя заданного цвета, чтобы не обращаться по очереди во все цветовые слои.

03h: Регистр циклического сдвига данных

    биты 4 – 3: выбор логической операции:

    00 — данные от CPU записываются без изменений

    01 — операция AND над CPU и регистром-защелкой

    10 — операция OR над CPU и регистром-защелкой

    11 — операция XOR над CPU и регистром-защелкой

биты 2 – 0: на сколько бит выполнять вправо циклический сдвиг данных перед записью в видеопамять

04h: Регистр выбора читаемой плоскости

    биты 1 – 0: номер плоскости (0 – 3)

    Запись сюда изменяет номер цветовой плоскости, данные из которой получает CPU при чтении из видеопамяти.

05h: Регистр выбора режима работы




Начало  Назад  Вперед