СИСТЕМНЫЕ СРЕДСТВА ДЛЯ ВЫВОДА ИНФОРМАЦИИ НА ЭКРАН В ГРАФИЧЕСКОМ РЕЖИМЕ



 

Цель работы

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

Теоретическая часть

Для генерации цветных изображений в графическом режиме используются минимальные точки растра – пикселы или пэлы. Цветной графический адаптер CGA имеет три степени разрешения: а) низкое разрешение (не поддерживается в ROM) обеспечивает вывод 100 строк по 160 точек (т.е. четыре бита на точку). Каждая точка может иметь один из 16 стандартных цветов; б) среднее разрешение для стандартной цветной графики обеспечивает 200 строк по 320 точек. Каждый байт в этом случае представляет четыре точки (т.е. два бита на точку); в) высокое разрешение обеспечивает 200 строк по 640 точек. Поскольку в данном случае требуется 16К байт памяти, высокое разрешение достигается только в черно-белом (BW) режиме. Каждый байт здесь представляет восемь точек (т.е. один бит на точку). Нулевое значение бита дает черный цвет точки, единичное – белый.

В графическом режиме ROM содержит точечные образы только для первых 128 ASCII-кодов. Команда INT 1Fh обеспечивает доступ к 1К байтовой области в памяти, определяющей остальные 128 символов (8 байт на символ). Отображение графических байтов в видеосигналы аналогично как для среднего, так и для высокого разрешения. Память объемом 16 Кбайт для цветного дисплея позволяет хранить дополнительные страницы (экраны). Имеется четыре страницы для экранов на 80 столбцов или восемь страниц для экранов на 40 столбцов. Графический режим обеспечивает низкое разрешение (не поддерживается в ROM), среднее разрешение (для цветной графики) и высокое разрешение (для черно-белой графики). Точка растра (минимальный элемент графического изображения) представляется определенным числом битов в зависимости от графического адаптера и разрешающей способности (низкой, средней или высокой). Для графики среднего разрешения на цветном графическом адаптере CGA можно выбрать четыре цвета, один из которых принадлежит к 16 возможным цветам, а три других формируют цветовую палитру.

Режим средней разрешающей способности

При среднем разрешении каждый байт представляет четыре точки, пронумерованные от 0 до 3:

   Байт:     |C1 C0|C1 C0|C1 C0|C1 C0|

   Пикселы:  | 0 | 1 | 2 | 3 |

В любой момент для каждой точки возможны четыре цвета от 0 до 3. Ограничение в четыре цвета объясняется тем, что двухбитовая точка имеет четыре комбинации значений битов: 00, 01, 10 и 11. Можно выбрать значение 00 для любого из 16 возможных цветов фона или выбрать значения 01, 10 и 11 для одной из двух палитр. Каждая палитра имеет три цвета:

С1 С0     Палитра 0   Палитра 1

0 0     фон         фон

0 1     зеленый     голубой

1 0     красный     сиреневый

1 1     коричневый  белый

Для выбора цвета палитры и фона используется INT 10h. Таким образом, если, например, выбраны фон желтого цвета и палитра 0, то возможны следующие цвета точки: желтый, зеленый, красный и коричневый. Байт, содержащий значение 10101010, соответствует красным точкам. Если выбрать цвет фона синий и палитру 1, то возможны цвета синий, голубой, сиреневый и белый. Байт, содержащий значение 00011011, отображает синюю, голубую, сиреневую и белую точки.

Функции прерывания BIOS INT 10h для графики

Функция AH = 00 команды INT 10h устанавливает графический режим. Функция AH = 11 команды INT 10h позволяет выбрать цвет палитры и вывести на экран графический символ. Код в регистре – AH определяет функцию AH = 00; Установка режима. Нулевое значение в регистре AH и 04 в регистре AL устанавливает стандартный цветной графический режим:

     MOV AH,00 ;Функция установки режима

     MOV AL,04 ;Разрешение 320х200

     INT 10h

Установка графического режима приводит к исчезновению курсора с экрана.

AH = 0Bh: Установка цвета фона и цветовой палитры. Число в регистре ВН определяет назначение регистра ВL: ВН = 00 выбирает цвета фона и бордюра в соответствии с содержимым регистра ВL. Цвет фона от 1 до 16 соответствует шестнадцатеричным значениям от 0 до F; ВН = 01 выбирает палитру соответственно содержимому регистра ВL (0 или 1):

         MOV AH,0Bh ;Ф-ция установки цвета

         MOV ВН,01 ;Выбор палитры

         MOV BL,00 ;0 (зеленый, красный, корич.)

         INT 10h ;Вызвать BIOS

Палитра, установленная один раз, сохраняется, пока не будет отменена другой командой. При смене палитры весь экран меняет цветовую комбинацию. При использовании функции AH = 0Вh в текстовом режиме значение, установленное для цвета 0 в палитре, определяет цвет бордюра.

AH = 0Ch: Вывод точки на экран. Использование кода 0Ch в регистре AH позволяет вывести на экран точку в выбранном цвете (фоне и палитре). Например, для разрешения 320х200 загрузим в регистр DX вертикальную координату (от 0 до 199), а в регистр СХ – горизонтальную координату (от 0 до 319). В регистр AL поместим цвет точки (от 0 до 3):

     MOV AH,0Сh ;Функция вывода точки

     MOV AL,цвет ;Цвет точки

     MOV СХ,столбец ;Горизонтальная координата

     MOV DX,строка ;Вертикальная координата

     INT 10h    ;Вызвать BIOS

AH = 0Dh: Чтение точки с экрана. Данная функция позволяет прочитать точку для определения ее цвета. В регистр DX должна быть загружена вертикальная координата (от 0 до 199), а в регистр СХ – горизонтальная (от 0 до 319). В регистре AH должно быть значение 0Dh. Функция возвращает цвет точки в регистре AL.


Дата добавления: 2018-04-04; просмотров: 570; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!