Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3. Алкон , Аппаратные средства IBM.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
360.96 Кб
Скачать

6.Видеотерминал ibm pc

Видеосистема ЭВМ определяется типом видеотерминала (монитора) и адаптером (контроллером). Цветной графический адаптер (CGA), имеет 16 Кбайт памяти на плате, начиная с адреса В8000h. Видеомонитор может быть настроен на графический (точечный) или символьный (текстовый) режимы.

Сегментный адрес видеобуфера дисплея - B8000h. Содержимое экрана монитора формируется программно путем заполнения памяти видеобуфера. А

Установка режима дисплея выполняется с помощью программных прерываний.

Рассмотрим наиболее применяемые макрокоманды при работе с видеомонитором.

Настройка монитора на символьный режим выполняется программным прерыванием BIOS в составе макрокоманды:

SymReg MACRO ;цветной алфавитно-цифрового режим (3)

mov ah,0 ;наcтройка монитора на 80 х 25 символов

mov al ,3 ;на 16-цветов

int 10h ;номер прерывания 10h (программное, BIOS)

ENDM ;конец макроопределения;

Настройка монитора на графический режим с помощью макрокоманды:

GrafReg_4 MACRO ;4-х цветная графика (в палитре)

mov ah,0 ;функция 0

mov al,04 ;разрешение 320 х 200

int 10h ;программное прерывание BIOS, 4-х цветовой

ENDM ;

Рассмотрим программную модель видеомонитора, настроенного на отображение символов (Рис.). Весь экран имеет 25 (от 0 до 24) символьных строк и 80 (от 0 до 79) колонок, что образует 2000 знакомест.

0 1 77 78 79

25 х 80 = 2000 знакомест

Рис 11. Программная модель символьного видеомонитора

Каждое знакоместо обслуживается двухбайтовой ячейкой видеопамяти. В младшем байте записывается код отображаемого на экране символа, во втором байте записывается код атрибута, который формирует цвет фона знакоместа и цвет самого символа. Таким образом, для заполнения всего символьного экрана в 2000 знакомест потребуется 4000 байтов видеопамяти. Адрес младшего байта для знакоместа в верхнем левом углу экрана равен 0В8000h.

Формат байта атрибутов

Младшие четыре бита байта атрибутов устанавливают цвет самого символа (бит 3 включает высокую интенсивность). Следующие три бита устанавливают фон символа. Старший бит (бит 7) при обычных обстоятельствах включает и выключает мигание символа. Включение цветов определяется отдельными битами

номер бита 7 6 5 4 3 2 1 0

значения бита M R G B I R G B

1 0 0 1 1 1 0 0

------------ ---------------

цвет фона цвет символа

Обозначения битов: М-мигание, R(Red)- красный, G(Grin)- зеленый, B(Blue)-синий, I- интенсивность (высокая-1, низкая-0). Единичное значение бита в байте означает включение данного цвета, 0-выключение данного цвета. Приведенный выше пример задает режим: цвет символа - ярко-красный, цвет фона - синий, символ - мигает. Сочетание 4-младших бит позволяет иметь 16 цветов (по значению десятичной цифры): 0-черный, 1-синий, 2-зеленый, 3-циан, 4-красный, 5-магента, 6-коричневый, 7-белый, 8-серый, 9-голубой, 10-светло-зеленый, 11-светлый циан, 12-светлокрасный, 13-светлая магента, 14-желтый,15-яркобелый. Можно иметь 16 цветов и для фонового цвета. В этом случае бит 7 должен служить указателем высокой интенсивности для фона, а не указателем мигания.

Управление курсором

Курсор служит указателем знакоместа на экране, в которое программы посылают свой вывод; обеспечивают видимую точку отсчета на экране для пользователя программы. Любой вывод на экран, поддерживаемый операционной системой, начинается с текущей позиции курсора, независимо от того, видимый он или нет. Когда видеосистема работает в многостраничном режиме, каждая страница имеет свой курсор, и при переключении между страницами восстанавливается позиция курсора, которую он занимал, когда было последнее обращение к восстанавливаемой странице.

Абсолютные координаты меняются в пределах 25 строк (Y) и 80 столбцов (X). В ассемблере отсчет всегда ведется с нуля и позиция верхнего левого угла - 0,0, а правого нижнего - 79, 24.

Устройство управления видеобуфером настроено на две группы адресов, которые как бы продолжают адреса, относящиеся к оперативной памяти. Действительно, адрес последнего байта оперативной памяти составляет 9FFFFh, а уже следующий адрес A0000h является адресом первого байта графического видеобуфера. Графический видеобуфер занимает 64 Кбайт адресного пространства до адреса AFFFFh (реально немного меньше, но в плане рассматриваемого вопроса это не имеет значения). Текстовый видеобуфер расположен на некотором расстоянии от графического и занимает 32 Кбайт, начиная с адреса B8000h. Таким образом, адреса оперативной памяти и памяти видеобуфера разнесены и не перекрываются.

29

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