Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Абель.docx
Скачиваний:
13
Добавлен:
26.11.2018
Размер:
569.84 Кб
Скачать

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

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

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

Для выбора цвета палитры и фона используется INT 10H. Таким обpазом,

если, например, выбран фон желтого цвета и палитра 0, то возможны

следующие цвета точки: желтый, зеленый, красный и коричневый. Байт,

содержащий значение 10101010, соответствует красным точкам. Если выбрать

цвет фона - синий и палитру 1, то возможные цвета: синий, голубой,

сиреневый и белый. Байт, содержащий значение 00011011, отображает синюю,

голубую, сиреневую и белую точки.

Прерывание BIOS INT 10H для графики

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

Функция AH=00 команды INT 10H устанавливает графический режим.

Функция AH=11 команды INT 10H позволяет выбрать цвет палитры и вывести на

экран графический символ. Код в регистре AH определяет функцию:

AH=00: Установка режима. Нулевое значение в регистре AH и 04 в

pегистре AL устанавливают стандартный цветной графический режим:

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

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

INT 10H

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

экрана. Подробности по установке режима приведены в главе 9.

AH=0BH: Установка цветовой палитры. Число в регистре BH определяет

назначение регистра BL:

BH=00 выбирает цвета фона и бордюра в соответствии с содержимым

pегистра BL. Цвет фона от 1 до 16 соответствует шест. значениям oт 0

до F;

BH=01 выбирает палитру соответственно содержимому регистра BL (0

или 1):

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

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

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

Int 10h ;Вызвать bios

Палитра, установленная один раз, сохраняется, пока не будет отменена

другой командой. При смене палитры весь экран меняет цветовую комбинацию.

При использовании функции AH=0BH в текстовом режиме, значение,

установленное для цвета 0 в палитре, определяет цвет бордюра.

AH=0CH: Вывод точки на экран. Использование кода 0C в регистре AH

позволяет вывести на экран точку в выбранном цвете (фон и палитра).

Например, для разрешения 320х200 загрузим в регистр DX вертикальную

координату (от 0 до 199), а в регистр CX - горизонтальную координату (от 0

до 319). В регистр AL поместим цвет точки (от 0 до 3):

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

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

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

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

Int 10h ;Вызвать bios

AH=0DH: Чтение точки с экрана. Данная функция позволяет прочитать

точку для определения ее цвета. В регистр DX должна быть загружена

вертикальная координата (от 0 до 199), а в регистр CX - горизонтальная (от

0 До 319). В регистре ah должно быть значение 0d. Функция возвращает цвет

точки в регистре AL.

ПРОГРАММА: УСТАНОВКА ГРАФИЧЕСКОГО РЕЖИМА И ОТОБРАЖЕНИЕ ЦВЕТА

________________________________________________________________

Программа, приведенная на рис.10.1, использует команду INT 10H для

установки графического режима, выбора зеленого фона и вывода на экран

точек (40 строк по 320 столбцов). В программе происходит увеличение

значения цвета на 1 для каждой строки. Так как в определении цвета

участвуют только три правых бита, цвета повторяются через каждые семь

строк.

__________________________________________________________________________

TITLE GRAPHIX (COM) Пример цвета и графики

CODESG SEGMENT PARA 'Code'

ASSUME CS:CODESG,DS:CODESG,SS:CODESG

ORG 100H

MAIN PROC NEAR

MOV AN,00 ;Установка режима графики

MOV AL,0DH ; для EGA (CGA=04)

MOV AH,0BH ;Установить палитру

MOV BH,00 ;Фон

MOV BL,02 ;Зеленый

INT 10H

MOV BX,00 ;Начальные цвет,

MOV CX,00 ; столбец

MOV DX,00 ; и строка

A50:

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

MOV AL,BL ;Установить цвет

INT 10H ;BX, CX, и DX сохраняются

INC CX ;Увеличить столбец

CMP CX,320 ;Столбец 320?

JNE A50 ; нет - цикл,

MOV CX,00 ; да - сбросить столбец

INS BL ;Изменить цвет

INS DX ;Увеличить строку

CMP DX,40 ;Строка 40?

JNE A50 ; нет - цикл,

RET ; да - завершить

MAIN ENDP

CODESG ENDS

END MAIN

__________________________________________________________________________

Рис.10.1 Вывод на экран в цветном графическом режиме.

После выполнения программы дисплей остается в графическом режиме.

Восстановление текстового режима возможно с помощью команды DOS MODE (MODE

CO80) или пользовательской COM программой, в которой для этой цели

используется команда INT 10H.

ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ

________________________________________________________________

- Память объемом 16К для цветного дисплея позволяет хранить

дополнительные страницы (экраны). Возможны четыре страницы для экранов на