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

         

Регистры контроллера атрибутов (03C0h– 03C1h)


Контроллер атрибутов преобразовывает значения байта атрибута символа в цвета символа и фона. Для записи в эти регистры надо записать в порт 03C0h номер регистра, а затем (второй командой out) — данные для этого регистра. Чтобы убедиться, что 03C0h находится в состоянии приема номера, а не данных, надо выполнить чтение из ISR1 (порт 03DAh). Порт 03C1h можно использовать для чтения последнего записанного индекса или данных.

00h – 0Fh: Регистры палитры EGA

биты 5 – 0: номер регистра в текущей странице VGA DAC, соответствующего данному EGA-цвету.

10h: Регистр управления режимом

бит 7: разбиение регистров VGA DAC для 16-цветных режимов: 1 = 16 страниц по 16 регистров, 0 = 4 страницы по 64 регистра

бит 6: 1 = 8-битный цвет, 0 = 4-битный цвет

бит 5: горизонтальное панорамирование разрешено

бит 3: 1/0 — бит 7 атрибута управляет миганием символа/цветом фона

бит 2: девятый пиксель в каждой строке повторяет восьмой

бит 1: 1/0 — генерация атрибутов для монохромных/цветных режимов

бит 0: 1/0 — генерация атрибутов для текстовых/графических режимов

11h: Регистр цвета бордюра экрана (по умолчанию 00h)

биты 7 – 0: номер регистра VGA DAC

12h: Регистр разрешения использования цветовых плоскостей

бит 3: разрешить плоскость 3

бит 2: разрешить плоскость 2

бит 1: разрешить плоскость 1

бит 0: разрешить плоскость 0

13h: Регистр горизонтального панорамирования

биты 3 – 0: величина сдвига по горизонтали в пикселях (деленная на 2 для режима 13h)

14h: Регистр выбора цвета (по умолчанию 00h)

Функции INT 10h AX = 1000h – 1009h позволяют использовать большинство из этих регистров, но кое-что, например панорамирование, оказывается возможным только при программировании на уровне портов.



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