Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matrunchik_-_Shpory1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
463.25 Кб
Скачать

Регистр Битовой Маски

Регистр управляет записью данных в видеопамять. Если какой-то бит регистра BMR содержит "0", то соответствующий бит будет записываться в видеопамять из регистра-защелки. В противном случае данный бит поступает от процессора (см.рис.9.3). Этот регистр используется только в нулевом режиме записи.

Алгоритм реализации точечной графики

1. Установить желаемый режим работы видеоадаптера: в Бейсике это реализуется оператором SCREEN NR, где NR - номер режима.

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

defseg = &НА000.

3. Записать в индексный порт &H3CE с помощью OUT индекс &H5.

4. Через регистр Режим установить режим записи 2, то есть по­местить в порт &H3CF число &H2.

5. Выбрать требуемые координаты пикселя экрана (a,b). Вычислить абсолютный номер байта по формуле (9.3).

6. Определить битовую маску по формуле (9.5).

7. Вновь обратиться к индексному порту &H3CE и установить (записать) режим битовой маски (индекс &H8).

8. Через порт &H3CF передать битовую маску по п.6.

9. Перед тем, как записать данные по адресу байта видеопамяти, необходимо заполнить регистры-защелки, т.е. произвести операцию чтения (PEEK) по адресу байта видеопамяти (см.п.5).

10. Чтобы высветить заданный нами пиксель с координатами (a,b), достаточно лишь поместить (записать) желаемый номер цвета этого пикселя (0?15 для SCREEN9) по адресу, вычисленному в п.5. В начале программы он может быть задан в виде переменной СOL%.

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

12. По окончании работы необходимо провести восстановление значений в состояние, ожидаемое BIOS по умолчанию (проводится обязательно).

Для этого необходимо:

- установить режим битовой маски, т.е. индекс &H8 в порт &H3CE;

- разрешить к изменению любой бит байта, т.е. поместить число &HFF в порт &H3CF;

- установить регистр-режим, т.е. индекс &H5 в порт &H3CE;

- установить режим записи 0, т.е. поместить число &H0 в порт &H3CF.

30.Установка цвета. Регистр адреса атрибута. Регистры палитры. Регистр выбора цвета. Алгоритм установки цвета

Регистры Атрибут-Контроллера управляют распределением цветов по соответствующим номерам цветов (N = 0,1...15), сканированием рамки и цветом фона. Для этого используются семь регистров: регистр Атрибута (порт 3CO16); регистр Палитры (порт 3СО16, индекс 0F16);регистр Управления Режимом (порт 3CO16, индекс 1016); регистр Цвета Рамки (порт 3СО16, индекс 1116); регистр Разрешения Матрицы Цветов (порт 3СО16, индекс 1216); регистр Горизонтального Поэлементного Панорамирования (индекс 1316); регистр Выбора Цвета (индекс 1416).

Регистр Адреса Атрибута

Регистр Адреса Атрибута определяет, какой из регистров должен появляться в порте 3СО16. Номер индекса желаемого регистра записывается в порт 3СО16. В связи с тем, что порт 3СО16 разделяется регистром адреса и индексированными регистрами, регистр Адреса всегда должен быть инициализирован.

Регистры Палитры

В EGA эти 16 регистров управляют фактическим цветом, выводимым на экран по соответствующему ему номеру (комбинации битовых матриц). Индексы с 0 по 15 управляют соответственно цветами, пронумерованными с 0 по 15. Схема определения цвета по умолчанию заключается в том, что сумма номеров двух цветов дает в результате цвет, представляющий из себя смесь этих двух цветов. Например, цвет 1 (синий) + цвет 2 (зеленый) дают цвет 3 (голубой). Основные цвета - синий, зеленый и красный; они образуют нормализованную двоичную последовательность 1,2,4. Цвета с 8 по 15 являются более яркими оттенками цветов 0-7.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]