Поиск по базе сайта:
Лабораторна робота №3 тема: Програмування режимів EGA та VGA відеоадаптера icon

Лабораторна робота №3 тема: Програмування режимів EGA та VGA відеоадаптера




Скачати 381.64 Kb.
НазваЛабораторна робота №3 тема: Програмування режимів EGA та VGA відеоадаптера
Дата конвертації25.10.2014
Розмір381.64 Kb.
ТипЛабораторна робота

Архітектура комп’ютера www.aeom.ho.ua

Лабораторна робота № 3

ТЕМА: Програмування режимів EGA та VGA відеоадаптера

МЕТА: Набути навичок роботи з відеоадаптером у режимах EGA та VGA, а також використання засобів BIOS для роботи з відеопам’яттю.

Короткі теоретичні відомості

Для роботи з відеоадаптером в BIOS відведено три функції переривання 10h. Функція 00h призначена для встановлення режима дисплея (для виклику: AH = 00h, AL = номер режима); функція 05h – вибір активної дисплейної сторінки (для виклику: AH = 05h, AL = номер відеосторінки); функція 0Fh – визначення стану відеосистеми (для виклику: AH = 0Fh; повертає: AH = кількість символьних столбців, AL = номер режима, BH = номер активної відеосторінки).


ЗАВДАННЯ

Розробити та відлагодити програму, яка:

  • переводить дисплей в заданий користувачем відеорежим;

  • забезпечує можливість перемикання відеосторінок;

  • виводить на екран інформацію про стан відеосистеми.


^
ПИТАННЯ ДЛЯ САМОКОНТРОЛЮ




  1. Яка базова адреса текстової відеопам’яті?

  2. Скілький відеосторінок має текстова відеопам’ять?

  3. Яку інформацію зберігає дескриптор сегменту?

  4. Який об’єм (розмір) відеосторінки текстової відеопам’яті?

  5. Що таке таблиця глобальних дескрипторів?

  6. Чи можна модифікувати сегменти команд в захищеному режимі під час виконання програми?

  7. Яке призначення тіньових регістрів? Чи доступні вони програмісту?

  8. Що таке регістр таблиці глобальних дескрипторів?

  9. Які таблиці треба підготувати для виходу в захищений режим?

  10. У який спосіб можна повернутися з захищеного режиму до реального?



Засоби BIOS для роботи з відеоадаптером.
BIOS здійснює свою роботу з відеоадаптером через переривання INT 10h.

^ Функції INT 10h

00h –вибір режиму роботи;

01h – задання форми курсора;

02h – задання позиції курсора;

03h – визначення положення й форми курсора;

04h – використання світового пера;

05h – задання активної сторінки відеопам`яті;

06h – прокрутка вікна вгору;

07h – прокрутка вікна вниз;

08h – читання символу і його атрибутів у поточній позиції курсора;

09h – запис символу з атрибутами у поточну позицію курсора;

0Ah – запис символу з тим атрибутом, який був у позиції курсора;

0Bh – установлення кольорової палітри (режим 4,5,6);

0Ch – вивід пікселя на екран;

0Dh – читання пікселя;

0Eh – вивід символів у режимі телетайпа;

0Fh – визначення поточного режиму роботи відеоадаптера;

10h – керування регістрами палітри. Має підфункції;

11h – завантаження таблиці знакогенератора. Має 11 під функцій;

12h – визначення конфігурації й вибір програми друку екрана;

13h – вивід текстового рядка;

1Ah – читання/запис конфігурації відеосистеми;

1Bh – отримання даних про стан VGA;

1Ch –зберігання/встановлення стану відеоадаптера.

Режими дисплея.

Номер

Режим

0

1

2

3

4

5

6

7

8

9

40х25(320х200) – алфавітно-цифровий, монохромний;

40х25(320х200) – алфавітно-цифровий, кольоровий;

80х25(640х200) – алфавітно-цифровий, монохромний;

80х25(640х200) – алфавітно-цифровий, кольоровий;

320х200 4-х кольорова графіка;

320х200 алфавітно-цифровий і графіка;

640х200 кольорова графіка;

720х350 алфавітно-цифровий;

160х200 16-кольорова графіка;

320х200 16-кольорова графіка;


^ Функции BIOS – Int 10h – упарвление экраном

Для управления экраном имеются следующие функцыи:

Функция Назначение

----------------------------------------------------------------------------------
^

00H Задание видеорежим


01H Задание формы курсора

02H Задание позицию курсора

03H Чтение позиции иформы курсора

04H Чтение позиции световое перо


05H Выбрать активную страницу дисплея

06H Листать окно вверх (или очистить)

07H Листать окно вниз

08H Читать символ/атрибут

09H Писать символ/атрибут

0aH Писать символ

0bH Выбрать палитру/цвет бордюра

0cH Писать графическую точку

0dH Читать графическую точку

0eH Писать символ в режиме TTY

0fH Читать видео режим

10H Установка регистров палитр( PCjr, EGA,VGA,MCGA)

11H Управление знакогенератор (EGA, VGA,MCGA)

12H Выбор альтернативы (EGA, VGA,MCGA)

13H Выбор строки на экран (многие ПЭВМ )

14H Упаравление плазменным дисплеем ( Convertible )

15H Чтение параметров активонго дисплея ( Convertible )

1AH Чтение/вывод кода комбинации дисплеев ( PS/2 )

1BH Чтение функциональной информации ( PS/2 )

1CH Сохранение/восстановление состояенмия дисплея(VGA)
Примечание. Функции 00-0FH поддерживаються BIOS всех ПЭВМ ( единственное исключение состоит в том, что BIOS не поддерживает графический режим монохромного адаптера Hercules).Остальные функции реализеются только теми адаптерами и теми ПВЭМ, которые указаны в скобках после их описания ( под-робная информацыя о каждой ункции приведена ниже ).
^ Функция 00h –задание видеорежима

Вход: АН = 00h

AL = ноер видеорежима

Выхода: нет

Описание: Изменяет режим экрана на заднный в AL.Подробное описание видеорежиов, поддерживаемых BIOS, приведено в п. 7.2.

Примечания.

  1. В некоторых версиях BIOS эта ф-н разрушает регистры АХ,

SP, BP, SI, и DI .

  1. При смене видеорежима экран очищается. Мы не рекомендуем использовать эту ф-н для очистки экрана, т. к. она работает довольно долго ( см. ф-н 06h и 07h ). HCjr, EGA, VGA, MCGA и PS Convertible можно сменить видеорежим без очистки экрана, если установить старший бит AL.

  2. В графических режимах курсор не отображается на экране

( кроме VGA, где возможна эмуляция графического курсора – см.

ф-н 12h).

  1. Смена видеорежима изменяет форму курсора.

  2. Режимы 0, 2 и 5 для RGB-монитор эквивалентны режимам 1, 3 и 4 соответветственно.Для композитных ( дешовых и устаревших )

мониторов они отличаются тем, что в режымах 0, 2 и 5 запрещена генерацыя цветов, т. е. эти режими являются чёрно-белыми.

  1. Для чтения текущего видеорежима используйте ф-н Ofh.

  2. При включении ПВЭЬ устанавливаются следующие видеорежи-мы:

CGA, PCjr, MCGA - 3 ;

MDA - 7 ;

EGA, VGA - 3 или 7 в зависимости от диспле;

PC Convertible - 2 ли 7 в зависимости от дисплея.

  1. Для всех видеорежимов, кроме 13h:

- в MCGA инициализируется только первые 16 регистров цвета, а

остальные 240 остаются неопределенными;

- в VGA инициализируется только первые 64 регистров цвета, а

остальные 192 остаются неопределенными;

  1. Для смены вертикального разрешения экрана VGA в текстовом режиме ( 200, 350 или 400 ) используйте ф-н 12h c BL=30h.


Cм. также: Int 10h, ф-н 06h

Int 10h, ф-н 07h

Int 10h, ф-н 0Fh

Int 10h, ф-н 12h
INT 10h,00h - установка специального режима (Paradise VGA)

Вход: AX = 007Eh

BX = горизонтальный размер желаемого режима

CX = вертикальный размер желаемого режима (BX/CX задаются в пикселях для графических режимов, в строках для текстовых)

DX = число цветов желаемого режима (0 для монохромных

режимов)

Выход:

BH = 7Eh - успешное завершение операции

INT 10h,00h - расширенные функции (Paradise VGA)

Вход:

AX = 007Fh

BH = 00h - установить режим VGA

BH = 01h - установить режим не-VGA

Цветные режимы (0, 1, 2, 3, 4, 5, 6) установят режим CGA (не-VGA).Монохромный режим 7 установит режим MDA/Hercules (не-VGA).

BH = 02h - проверить статус режима

BH = 03h - фиксировать текущий режим. Позволяет текущему режиму(VGA или не-VGA) "пережить" перезагрузку.

BH = 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh - запись в регистры

соответственно 0,1, 2, 3, 4, 5 (для порта 03CEh индексы - A, B, C, D, E, F)

BL = значение, заносимое в регистр

BH = 1Ah,1Bh,1Ch,1Dh,1Eh,1Fh - чтение из регистров

соответственно 0,1, 2, 3, 4, 5 (для порта 03CEh индексы - A, B, C, D, E, F)

Выход:

- для подфункции 02h:

BL = 0 - если функционирует в режиме VGA, 1 - если режим

не-VGA.

CH = общий размер телеОЗУ в 64Кбайтных банках

CL = размер телеОЗУ, используемого текущим режимом

BH = 01h - установить режим не-VGA

Цветные режимы (0, 1, 2, 3, 4, 5, 6) установят режим CGA (не-VGA).Монохромный режим 7 установит режим MDA/Hercules (не-VGA).

BH = 02h - проверить статус режима

BH = 03h - фиксировать текущий режим. Позволяет текущему режиму

(VGA или не-VGA) "пережить" перезагрузку.

BH = 0Ah,0Bh,0Ch,0Dh,0Eh,0Fh - запись в регистры соответственно 0,1, 2, 3, 4, 5 (для порта 03CEh индексы - A, B, C, D, E, F)

BL = значение, заносимое в регистр

BH = 1Ah,1Bh,1Ch,1Dh,1Eh,1Fh - чтение из регистров соответственно 0,1, 2, 3, 4, 5 (для порта 03CEh индексы - A, B, C, D, E, F)

Выход: - для подфункции 02h:
23

BL = 0 - если функционирует в режиме VGA, 1 - если режим не-VGA.

CH = общий размер телеОЗУ в 64Кбайтных банках

CL = размер телеОЗУ, используемого текущим режимом

- для подфункций 1Ah - 1Fh:

BL = значение, прочитанное из регистра

BH = 7Fh - если операция завершена успешно
^ Функция 01h - установка границ курсора (текстовой режим)
Вход: AH = 01h

CH = биты 0-4 - начальная линия биты 5-6 - атрибуты

курсора:

00 = обычный, 01 = невидимый,

10 = медленное мерцание, 11 = быстрое мерцание

CL = биты 0-4 - конечная линия курсора

Выхода: нет

Описание: Из меняет форму экранного курсора. Допустимые значения CH и CL зависят от адаптера:
Адаптер Допустимы По умолчанию

CGA 0 - 7 6 - 7

MDA 0 - 13 11 - 12

EGA 0 - 13 зависит от режима

VGA 0 - 15 зависит от режима

Примечания:

1. Под линиями здесь понимаются строки телевизионной

развертки, образующие изображение на экране. Нумерация

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

конечную линию, меньшую начальной, курсор получится

состоящим из двух частей.

2. Для всех видеостраниц определяется один и тот же курсор.

  1. Мерцание курсора организовано аппаратурно и не может быть отменено.Не рекомендуется устанавливать биты 5 и 6 - это может дать странные результаты. Чтобы сделать курсор невидимым, функцией 02h спозиционируйте его на 25 строку.

  2. Функция действует только для текстовых режимов - в афических режимах аппаратно поддерживаемый курсор отсутствует.


24

  1. В системах с EGA имеется ошибка - BIOS изменяет форму курсора в режимах с 43 строками, однако возвращает нформацию о неизмененной форме курсора.

6. Узнать текущую форму курсора можно с помощью 03h.

7. Функция не сохраняет значений регистров AX, SP, BP, SI и DI.

8. Для PS/2, модель 39 ( MCGA ) в регистры контроллера ЭЛТ засылаються такие зазмеры курсора: 2*CH и 2*CL+1.
Функцыя 02h - установка позиции курсора
Вход: AH = 02h

BH = номер видеостраницы ( 0 - ? )

DH= строка ( 0 - 24 )

DL = столбец ( 0 –39 или 79 )
^

Выхода: нет



Описание: Позиционирует курсор дисплейной страницы BH в заданую строку столбец.

Примечания:

  1. В некоторых версиях BIOS эта ф-н разрушает регистры AX, SP, BP, SI, и DI .

  2. Вы можете изменить позицию курсора как в активной, так и

неактивной стоанице дисплея.

  1. В графических режимах эта ф-н изменяет логическую позицию

курсора, хотя он и невидим.

  1. Функция позиционирует курсор как в активной, так и в

неактивной видеостранице.

  1. В графических режимах функция устанавливает только

логическое положение курсора.

  1. Чтобы сделать курсор невидимым, задайте его позицию в 25

строке.

  1. Левый верхний угол экрана имеет координаты (0,0), а правый

нижний - (24,39) для режимов с 40 колонками и (24,79) для режимов с 80 колонками.

  1. Функция не проверяет номер страницы на правильность, при

ошибочном DH,DL = строка,столбец.

^ Функция 03h - чтение позиции и размеров курсора
Вход: AH = 03h

BH = номер видеостраницы ( 0-7 )

Выход: DH,DL = текущие строка ( 0 - 24) и

столбец( 0 – 39 или 79 ) курсора.

25

CH,CL = текущие начальная и конечная линии

курсора (0-1Fh).
Описание: Сообщает текущую позицию и форму курсора для дисплейной страницы BH.

Примечания:

В некоторых версиях BIOS эта ф-н разрушает регистры AX, SP, BP, SI, и DI .

  1. Функция не проверяет номер страницы на правильность, при ошибочном задании могут быть странные результаты. В описании функции 05h приведены правильные границы для значения номера видеостраницы.

2. Функция выдает позицию курсора как для активной, так и для

неактивной страницы. Для графических режимов функция выдает

логическую позицию курсора.

3. Поскольку аппаратно поддерживаемый курсор один, функция

выдает его размеры независимо от указанного номера страницы.

  1. В ранних версиях монохромного адаптера (MDA) и адаптера

Compaq имелась ошибка. После инициализации адаптера (при

включении машины или изменении режима) функция выдавала

ошибочные размеры курсора: для монохромного адаптера вместо

0Bh-0Ch выдавалось 6-7, а для Compaq выдавалось 0-67h для

любого режима дисплея. Если вы устанавливали сами размеры

курсора функцией 01h, то функция далее выдавала правильные

значения.


^

Функция 04h - чтение состояния и позиции светового пера



Вход: AH = 04h

Выход: AH = 0 - световое перо не активизировалось,

1 - в регистрах возвращены значения

DH,DL = строка(0-24), столбец(0-39 или 79) символа

BX = столбец пикселя (0-319 или 0-639)

CH = строка пикселя (0-199)

CX = строка пикселя (0-nnn) для режимов 0Fh-10h
Описание: Сообщает позицию светового пера и его состояние (нажата или нет кнопка светового пера). Поскольку световое перо можно считать морально устаревшим устройством, полезность этой ф-н невилика.

26

Примечания:

1. Местоположение светового пера возвращается в двух формах: как

позиция символа в DX и как позиция пикселя в BX и CX.

  1. Координаты пикселя позиции светового пера не точны.

Координату X всегда необходимо умножить на 2, Y умножить на

4 для режима 320х200 и на 8 для режима 640x200.

3. Функция не сохраняет значений регистров AX, SP, BP, SI и DI.

^

Функция 05h - выбор активной страницы экрана



Вход: AH = 05h

AL = номер выбираемой страницы(0-?)

Выхода: нет
Описание: Задаёт новую страницу дисплея AL.

Возможные значения номера страницы:

Режим Режим

00h 0-7 08h 0

01h 0-7 09h 0

02h 0-3 0Ah 0

03h 0-3 0Dh 0-7

04h 0 0Eh 0-3

05h 0 0Fh 0-1

06h 0 10h 0-1

07h 0


Примечания:
1. Содержимое видеостраниц не меняется при переключении их. Вы

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

обеспечит вам быструю смену информации на экране.

2. Функция не сохраняет значений регистров AX, SP, BP, SI и DI.

  1. На РCjr эта ф-н имеет иное назначение и состоит из четырёх подфункцый:



Вход: AL = 80h – Читать регистры страниц ЭЛТ и микропроцессора
Вход: AL = 81h – Задать регистр страниц микропроцессора

BL = регистр страниц микропроцессора
Вход: AL = 82h – Задать регистр страниц ЭЛТ

27

BН = регистр страниц ЭЛТ
Вход: AL = 83h – Задать регистр страниц ЭЛТ и микропроцессора

ВL = регистр страниц микропроцессора

BН = регистр страниц ЭЛТ
^ Функция 06h – скроллинг(прокрутка) в окне вверх (или очистка окна)
Вход: AH = 06h

CH,CL = строка, столбец левого верхнего угла окна (с 0)

DH,DL = строка, столбец правого нижнего угла

AL = число прокручиваемых строк(0 - очистка всего окна)

BH = атрибуты вывода пустых строк

Выхода: нет

Описание:Строки, заполненные пробелом с атрибутами, указанными в BH, вставляются внизу окна, остальные сдвигаются вверх. Строки, вышедшие за пределы окна, пропадают.Прокручивает заданное окно на заданное количество строк вверх. Если AL= 0, то заполняет окно пробелами (очищает его).
Примечания:

1. Функция действует только в активной видеостранице.

2. Функция не сохраняет значений регистров AX, SP, BP, SI и DI.
  1. В графических режимах атрибут задаётся не совсем естественным образом: для CGA каждые два бита байта ВН задают цвет одного из четырёх вертикальных столбцов, поэтому, если вы не хотите получить полосатый экран, цвет заполнения пустых строк должен быть четырёхкратно повторен в байте атрибутов. На EGA и VGA экран заполняется цветом символа (а не фона!) из байта ВН.

^

Например для заполнения окна голубым цветом (код1) в

текстовом режиме нужно задать ВН = 10h, а в графическом

режиме ВН = 1 для EGA/VGA и ВН = 55h для CGA.

4. Для прокрутки окна вниз используйте ф-н 07h.



^

Функция 07h – скроллинг (прокрутка) вниз в окне



Вход: AH = 07h

28

CH,CL = верхняя строка, столбец левого верхнего

угла окна (с 0)

DH,DL = нижняя строка, столбец правого нижнего угла

AL = число прокручиваемых строк (0 - очистка всего окна)

BH = атрибут вывода чистых строк
Описание: Прокручивает заданное окно на заданное количество строк вниз. Если AL=0, то заполняет окно пробелами (очищае его). Строки, заполненные пробелом с атрибутами, указанными в BH, вставляются вверху окна, остальные сдвигаются вниз. Строки, вышедшие за пределы окна, пропадают.
Примечание:
1. Функция действует только в активной видеостранице.

2. Функция не сохраняет значений регистров AX, SP, BP, SI и DI.

3. О задании цвета в ВН см. прим. 3 в п. 2.1.8.

  1. Для прокрутки окна вверх используйте ф-н 06h.


^

Функция 08h - чтение из текущей позиции курсора



Вход: AH = 08h

BH = номер видеостраницы

Выход:AL = ASCII-код символа

AH = атрибут (только для текстовых режимов)

Описание: Для заданной дисплейной страницы сообщает код и

(в текстовых режимах) атрибут символа, находящегося в текущей позиции курсора.
Примечания:

  1. В графическом режиме не надо указывать номер видеостраницы,

функция возвращает в AL 00h, если не опознает изображение символа.

  1. Можно получить символ и атрибут из любой страницы, не

обязательно активной.

  1. Функция не сохраняет значений регистров AX, SP, BP, SI и DI.

  2. Для вывода символа з заданным атрибутом используйте ф-н 09h, для вывода символа без изменеия атрибута- ф-н 0Аh.


29

Функция 09h - Вывод символа/атрибута в текущую позицию курсора

^

Вход:AH = 09h


BH = номер видеостраницы

AL = ASCII-код символа

CX = счётчик (количество) выводимых символов(не 0!)

BL = атрибуты (текст.режим) или цвет (графика)

Описание: Выводит в заданную страницу дисплея символ AL с атрибутом BL с текущей позиции курсора СX раз. Текуща позиция курсора не изменяется.
Примечания:

  1. Вывод начинается с текущей позиции курсора в указанной

странице, однако сам курсор не перемещается.

  1. В текстовых режимах символы, выводимые за правую границу

экрана, переносятся на следующую строку; в графике этого не

делается.

  1. Эта функция изображает управляющие символы их графическими изображениями, не выполняя их управляющих функций. Например, символ с кодом ASCII = 0Dh будет изображен нотным символом, а возврат каретки вы-

полнен не будет. BL = атрибуты (текст.режим) или цвет (графика)

  1. В некоторых версиях BIOS эта ф-н разрушает регистры AX, SP,

BP, SI, и DI .

  1. В графических режимах CGA задание дисплейной страницы не требуется .

  2. В текстовых режимах BL должен содержать атрибут вывода символа. Если бит 7 в BL устаговлен, то во всех режимах, кроме 13h, цвет символа формируется как сума по модулю (XOR) битов BL с битами цвета экрана. В режимах 13h BL содержит цвет символа (0-255), а ВН – цвет фона. Если заданное количество символов не помещается в текущую строку экрана, то результаты непредсказуемы.

  3. Управляющие символы (т. е. символы с кодами менее 20h) выводятся как обычные: например AL=Odh отобразится на экране как рисунок музыкальной ноты, а не как возврат каретки.

  4. В графических режимах 4 – 6 младшие 128 символов ASCII навлекаются из знакогенератора видеоадаптера, а старшие 128 символов – из пользовательской таблицы, адрес которой должен быть задан в векторе Int 1Fh. В остальных графических режимах все 256 символов ASCII хранатся в ПЗУ знакогенератора.

30

  1. Если Вам нужно вывести символ (ы) без изменения цвета, то используйте ф-н 0Ah.


Примечания:


  1. Вывод начинается с текущей позиции курсора в указанной

странице, однако сам курсор не перемещается.


  1. В текстовых режимах символы, выводимые за правую границу

экрана, переносятся на следующую строку; в графике этого не

делается.

  1. Эта функция изображает управляющие символы их графическими изображениями, не выполняя их управляющих функций. Например, символ с кодом ASCII = 0Dh будет изображен нотным символом, а возврат каретки выполнен не будет.

  2. Если в графических режимах атрибуты в BL даны с

установленным 7 битом, с битами цвета выводимого символа и

битами цвета текущего символа производится операция

ИСКЛЮЧАЮЩЕЕ ИЛИ. Вы можете пользоваться этим для

вывода символов и последующего их уничтожения.

5. Функция не сохраняет значений регистров AX, SP, BP, SI и DI.
^ Функция 0Ah - Вывод символа в текущую позицию курсора
Вход: AH = 0Ah

BH = номер страницы экрана

AL = ASCII-код символа

CX = счётчик выводимых символов (не нуль!)
Выход: нет
Описание: Выводит а заданную страницу дисплея символ AL с текущей позиции курсора СХ раз. Текущая позиция курсора не изменяется.

Примечания:


  1. Эта ф-н полностью аналогична ф-н 19h с единственным отличием: она выводит символ(ы) с тем атрибутом, который был в позиции курсора.

См. также: Int 10h, ф-н 19h

  1. Вывод начинается с текущей позиции курсора в указанной

31

странице, однако сам курсор не перемещается.

  1. В текстовых режимах символы, выводимые за правую границу

экрана, переносятся на следующую строку; в графике этого не

делается.

  1. Эта функция изображает управляющие символы их графическими изображениями, не выполняя их управляющих функций. Например, символ с кодом ASCII = 0Dh будет изображен нотным символом, а возврат каретки выполнен не будет.

  2. В отличие от функции 09h, позволяющей вам задавать атрибуты

вывода, эта функция использует текущие атрибуты.

^

Функция 0Bh – Задание цветовой палитры



Вход: AH = 0Bh

BH = номер подф-н (0 или 1)

BL = зависит от подф-н
Выход: нет

Описание: Эта ф-н предназначена для видеорежимов CGA и имеет две подфункции.

Подф-н 0: Задание цвета
BL = новый цвет (0 - 31)
Эта подф-н:

  • в графических режимах 320 х 200 задаёт цвет фона;

  • в графическом режиме 640 х 200 (CGA) задаёт цвет символов;

  • в графических режимах 640 х 200 (EGA/VGA) задаёт цвет фона;

  • в текстовых режимах задаёт цвет рамки (цвет 16-31 задают фон повышенной яркости).
^

Подф-н 1: Задание палитры

BL = номер палитры (0 или 1)


Задаёт палитру для графических режимов 320 х 200, т. е. соответствии номеров цветов цветам точек экрана:


Номер цвета

Палитра 0

Палитра 1

0

1

2

3

Текущий цвет фона

Зелёный

Красный

Коричневый

Текущий цвет фона

Бирюзовый

Фиолетовый

Белый


32

Примечание:


  1. В некоторых версиях BIOS эта ф-н разрушает регистры АХ, SP, BP, SI и DI.

  2. На EGA/VGA не рекомендуется использовать эту ф-н, т. к. правиильно задавая цвет фона, она меняет и некоторые цвета экрана. Вместо нее рекомендуется ф-н 10h, подф-н 00h.


См. также: Int 10h, ф-н 10h.
^ Функция 0Ch – Вывод пикселя на экран.
Вход: AH = 0Ch

BH = номер дисплейной страницы

DX = вертикальная позиция пикселя

CX = горизонтальная позиция пикселя

AL = цвет пикселя (0-15)

Выход: нет
Описание: Выводит в заданную позицию заданной страницы дисплея точку заданного цвета.
Примечания:

  1. В некоторых версиях BIOS эта ф-н разрушает регистры AX, SP, BP, SI и DI.

  2. В графических режимах CGA задание дисплейной страницы не требуется.

  3. Допустимие позиции и диапазон цветов определяются текущим видеорежимом.

  4. Еесли бит 7 в AL установлен, то во всех режимах, кроме 13h, цвет символа формируется как сумма по модулю 2 (XOR) битов AL с битами цвета экрана. Это позволяет выводить изображение и за тем удалять его с использованием «мерцающих битов». Выдеорежим 13h допускает значение AL от 0-255.

  5. Вывод изображений с помощью этой ф-н работает крайне медленно.



^

Функция 0Dh - чтение пикселя



Вход: AH = 0Dh

BH = номер дисплейной страницы экрана (для режимов,

33

поддерживающих более одной видеостраницы)

DX = вертикальная позиция пикселя

CX = горизонтальная позиция пикселя
Выход: AL = цвет пикселя

Описание: Возвращает цвет точки экрана в заданой позиции дисплейной страници.
Примечания:

  1. В некоторых версиях BIOS эта ф-н разрушает регистры AX, SP,

BP, SI и DI.

  1. В графических режимах CGA заданий дисплейной страницы не требуется.

  2. Допустимые позиции и диапазон цветов определяются текущим видеорежимом.

  3. Чтение изображений с помощью ф-н работает крайне медленно.

См. также: Int 10h, ф-н 0Ch.
^ Функция 0Eh – Вывод символов в режиме телетайпа
Вход: AH = 0Eh

AL = код символа

BL = цвет символа (только для графических режимов)

BH = номер дисплейной страницы (см. ниже)
Выход: нет
Описание: Выводит в текущую позицию курсора заданный символ и продвигает курсор в следующую позицию экрана (при достижении конца строки курсор перемещается в начало следующей строки, при достижении конца экрана происходит сдвиг экрана на одну строку вверх и нижняя строка заполняется атрибутом последнего символа предыдущей строки).
Примечание:

  1. В некоторых версиях BIOS эта ф-н разрушает регистры AX, SP,

BP, SI и DI.

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


34

  1. В ранних РС (BIOS от 04/24/81 и 10/19/81) в текстовых режимах ВН должен содержать номер активной страницы дисплея.

  2. Эта ф-н специальным образом обрабатывает следующие коды символов:

07h – звуковой сигнал;

08h – возврат курсора на шаг;

0Ah – перевод курсора в следующую строку(ПС);

0Dh – перевод курсора в начало строки (ВК).

^ Функция 0Fh – чтение текущего состояния дисплея.
Вход: AH = 0Fh
Выход: AL = текущий видеорежим

AH = количество символов в строке экрана

BH = номер активной страницы дисплея
Описание: Возвращает текущие параметры дисплея.
Примечание:

  1. В некоторых версиях BIOS эта ф-н разрушает регистры AX, SP,

BP, SI и DI.

  1. Информация о видео режимах приведена в п. 7. 2.

  2. Для смены видеорежима используйте ф-н 00h, для смены активной страницы – ф-н 05h.

См. также: Int 10h, ф-н 00h

Int 10h, ф-н 05h
Функция 10h – Установка регистров палитр

(PCjr, EGA, VGA, MCGA)
Вход: AH = 10h

AL = номер подф-н:
^

00H - Задать один регистр палитры


01H - Задать регистр рамки

02H - Задать все регистры палитры

03H - Управление битомерцания

07H - Читать один регистр палитры (VGA)

08H - Читать регистр рамки (VGA)

09H - Читать все регистры палитры (VGA)

10H - Задать один регистр цвета (VGA, MCGA)

12H - Задать блок регистров цветов (VGA, MCGA)

13H - Задать страницы цветов (VGA)

35

15H - Читать один регистр цвета (VGA, MCGA)

17H - Читать блок регистров цветов (VGA, MCGA)

1AH - Читать страницы цветов (VGA)

1BH – Суммирование цветов (VGA, MCGA)
прочие – определяются подф-н
Выход: зависит от подф-н
Описание: Эта ф-н состоит из набора подф-н, управляющих регистрами палитр и цветов EGA ,VGA, MCGA, PCjr. Подф-н 00h – 03h применимы ко всем этим адаптерам, но не должны вызыватся в режиме 13h, т. к. в этом режиме регистр палитр служать индексами для регистров цветов ЦАП (цифро-аналогового преобразования) VGА. Подф-н 07h – 1Вh поддерживаются только адаптером VGA и, с некоторыми оговорками, MCGA.

ЕGA и РСjr имеют 16 регистров палитр и 1 регистр рамки (overscan). VGA имеет, кроме того, 256 регистров цвета ЦАП, каждый из которых содержит три 6-битовых значения, задающих интенсивность зелёного, синего и красного лучей видеосигнала.

На MCGA эти подф-н имеют ряд особенностей, описаных ниже.
^ Подф-н 00h: задать один регистр палитры
Вход: BL = номер палитры (0 – 15)

ВН = содержимое регистра

Выход: нет

Описание: Изменяет содержимое заданного регистра палитры. Каждый регистр палитры соответствует одному из 16 номеров цветов и имеет следующую структуру:


Х Х r g b R G B


Бит:



0: Синий 2/3 яркости

1: Зелёный 2/3 яркости

2: Красный 2/3 яркости

3: Синий 1/3 яркости

(подчёркивание для MGA)

4: Зелёный 1/3 яркости

(яркость для MGA)

5: Красный 1/3 яркости

36

Например, ВН = 02h задаст зелёный, ВН = 10h – бледно-зелёный, а ВН = 12h – ярко-зелёный цвет.
По умолчанию регистры палитры содержат значения цветов СGA:


Регистр Значение Цвет

Регистр Значение Цвет


0 00h Чёрный

1 01h Синий

2 02h Зелёный

3 03h Бирюзовый

4 04h Красный

5 05h Сиреневый

6 14h Коричневый

7 07h Светло-серый




8 38h Серый

9 39h Ярко-синий

10 3Аh Ярко-зелёный

11 3Вh Голубой

12 3Сh Алый

13 3Dh Розовый

14 3Eh Желтый

15 3Fh Белый



Примечание: Для MCGA допустим только вход ВХ = 0712h, засылающий в регистры цветов значение, соответсвующие восьми совместимым цветам.
Подф-н 01h: Задать регистр рамки.

^

Вход: ВН = содержимое регистра рамки



Выход: нет
Описание: Изменяет содержимое регистра рамки, который имеет такое же строение, как регистры палитр. Первоначально этот регистр содержит значение 0.
Примечание: EGA поддерживает рамку только в режимах с расришением NNNх200. На MCGA эта подф-н не поддерживается.
^ Подф-н 02h: Задать все регитсры палитры.
Вход: ЕS:ВХ = адрес списка значений регистров.
Выход: нет


37

Описаниие: Эта подф-н устанавливает новое значение всех регистров палитр и регистра рамки. ЕS:ВХ должны указывать на список из 17 байтов; первые 16 байтов содержат значение регистров палитр, 17-й байт – значение регистра рамки. На MCG эта подф-н не поддерживается.
Подф-н 02h: Задать все регистры палитры

Вход: ES:BX=адрес списка значений регистров
Выход: нет
Описание: Эта подф-н устанавливает новые значение всех регистров палитр и регистра рамки. ES:BX должны указывать на список из 17 байтов; первые 16 байтов содержат значения регистров палитр, 17-й байт-значение регистра рамки. На MCGA эта подф-н не дподдерживается.
Подф-н 03h: Управление битом мерцания

Вход: BL = повышенная яркость

  1. мерцание

Выхода: нет
Описание: Обычно бит 7 байта атрибутов означает мерцание символа. Эта подф-н позволяет изменить его назначения: BL=1

задаёт мерцание ссимвола, BL=0 – повышенную яркость фона.
Подф-н 07h: Читает один регистр палитры

Вход: BL = номер палитры (0-15)

  1. мерцание

Выход: BН=содержимое регистра
Описание: Читает текущее содержимое заданого регистра палитры. На МСGА эта подф-н не поддерживается
Подф-н 08h: Читает регистр рамки

Вход: нет

Выход: BН=содержимое регистра рамки
Описание: Читает текущее содержимое регистра рамки. На МСGА эта подф-н не поддерживается

Подф-н 09h: Читает все регистр палитры

38

Вход: ES:BX =адрес 17-байтовой таблицы

Выхода: Таблица содержимое значения регистров
Описание: Эта подф-н считывает значения всех регистров палитри регистра рамки. ES:BX должны указывать на массив из 17 байтов; в первые 16 байтов заносятся значения регистров палитр, в 17-й байт- значение регистра рамки. На МСGА эта подф-н не поддерживается.
Подф-н 10h: Задать один регистр цвета

Вход: BX = номер регистра цвета (0-225)

СН = инттенсивность зелёного цвета(0-3fh)

СL = инттенсивность синего цвета(0-3fh)

DН = инттенсивность красного цвета(0-3fh)

Выхода: нет
Описание: Засылает три шестибитовых значения в заданый регистр цвета ЦАП.
Подф-н 12h: Задать блок регистров цвета

Вход: BX = номер первого регистра цвета

СХ = количество регистров

ES:BX = адрес таблицы значений

Выхода: нет
Описание: Засылает значения из таблицы в СХ регистров цветов, начиная с регистра ВХ, Таблицы значений должна содержать по три байта для каждого регистра в следующем порядке: красный, зелёный, синий цвета.
Подф-н 13h: Задать страницы цветов

Вход: BL = 0 задать разбиение на страницы:

ВН = 0-4 блока по 64 регистра цветов;

1-16 блока по 16 регистров цветов.

BL = 1- задать страницу:

BL = номер блока (0-3 или 0-15)

Выхода: нет
Описание: При BL = 0 эта подф-н задаёт способ разбиения регистров ЦАП на блоки. При BL = 1 она задаёт номер текущего блока этих регистров.

39

Примечание:

  1. Эта подф-н не применима в видеорежиме 13h.

  2. Ф-н 00h (задание видеорежима) задаёт разбиение на 4 блока по 64 регистра и инициализиреет только первый блок. Для работы с другими блоками регистров Вы должны их предварительно иницыализироввать.

  3. На MCGA подф-н не поддерживается.


Подф-н 15h: Читать один блок регистров цветов

Вход: BХ = 0 номер регистра цвета (0-255)

Выхода:СН = инттенсивность зелёного цвета(0-3fh)

СL = инттенсивность синего цвета(0-3fh)

DН = инттенсивность красного цвета(0-3fh)
Описание: Считывает три шестибитовых значения из заданного регистр цвета ЦАП.
Подф-н 17h: Читать блок регистров цветов
Вход: BX = номер первого регистра цвета

СХ = количество регистров

ES:BX = адрес таблицы для приёма значений

Выход: таблица заполнена значениями регистров
Описание: Заполняет таблицу по адресу ES:BX значениями СХ регистров цветов, начиная с регистра ВХ. Таблицы значений будет содержать по три байта для каждого регистра в следующем порядке: красный, зелёный, синий цвета.
Подф-н 1Аh: Читать страницы цветов
Вход: нет
Выход: BL = тип разбиения на страницы (0 или 1)

ВН = номер текущей страницы (0-3 или 0-15)
Описание: Возращает текущие параметры разбиения регистров ЦАП на блоки (см описание подф-н 13h). На MCGA эта подф-н не поддерживается.
40

Подф-н 1Вh: Суммирование цветов
Вход: BX = номер первого регистра цвета

СХ = количество регистров

Выход: нет
Описание: Эта подф-н предназначена для приведения цветов к гамме оттенков серого цвета. Для каждого из СХ регистров ЦАП, начиная с ВХ, она делает следущее: считывает его значения цветов, подсчитывает возвещенную сумму

30% красного + 59% зелёного + 11% голубого

и записывает полученное значение во всех три компоненты регистра. Старые значения цветов регистра при этом теряются.
Функция 11h – Управление знакогенератором

( EGA, VGA, MCGA)
Вход: AH = 11h

AL = номер подф-н:
^

00H - Загрузка пользовательского шрифта для текстовых

режимов

01H - Загрузка шрифта 8 х 14 из ПЗУ


02H - Загрузка шрифта 8 х 8 из ПЗУ

03H - Выбор шрифта

04H - Загрузка шрифта 8 х 16 из ПЗУ (VGA, MCGA)
^

10H - Загрузка пользовательского шрифта для текстовых

режимов

11H - Загрузка шрифта 8 х 14 из ПЗУ


12H - Загрузка шрифта 8 х 8 из ПЗУ

14H - Загрузка шрифта 8 х 16 из ПЗУ (VGA, MCGA)
^

20H - Загрузка пользовательского шрифта для графических

режимов в Int 1Fh

21H - Загрузка пользовательского шрифта для графических

режимов в в Int 43h


22H - Загрузка шрифта 8 х 14 из ПЗУ

23H - Загрузка шрифта 8 х 8 из ПЗУ

24H – Загрузка шрифта 8 х 16 из ПЗУ (VGA, MCGA)

30H – Получение информации о шрифтах

прочие – зависят от подф-н.

Выход: Определяется подф-н

41

Описание: Эта подф-н содержит группу подф-н, позволяющих пользователю задавать свои шрифты для адаптеров EGA, VGA, MCGA. При этом VGA поддерживает все перечисленные подфункции, MCGA – все подфункции, но подф-н 10h-14h эквивалентны для него подф-н 00h-04h, EGA поддерживает всё, кроме подф-н 04h, 14h, 24h.

^

Подф-н 00h: Загрузка пользовательского шрифта для текстовых


режимов
Вход: ES:BP = адрес таблицы шрифта

СХ = количество символов

DX = ASCII-код первого символа

BL = номер загружаемого блока (0-3 или 0-7)

BH = размер символа в байтах (8, 14 или 16)

Выход: нет
Описание: Загрузка в ОЗУ адаптера таблицу пользовательского шрифта. Таблица должна размещатся с адреса ES:BP и состоять из матриц размером 8 х n, где n задаётся в BH. Количество матриц задаётся в СХ, код первого символа таблицы – вDX. Например, для перепрограммирования всей таблицы (256 символов) нужно задать DX=0,СХ=256.
Примечания:

  1. Эта подф-н перепрограммирует регистры адаптере, но не очищает экран.

  2. Каждые 64Кб ОЗУ адаптера EGA позволяют хранить один пользовательский шрифт.Поэтому EGA с максимальной памятью (256 Кб) может содержать 4 блока шрифтов (0-3).

  3. ОЗУ адаптера VGA позволяет хранить 8 шрифтов (0-7), ОЗУ MCGA- 4 шрифта (0-3)



^

Подф-н 01h: Загрузка шрифта 8 х 14 из ПЗУ



Вход: BL = номер загружаемого блока (0-7)
Выход: нет
Описание: Загружает в ОЗУ адаптера таблицу шрифта для монохромного дисплея с матрицей символа 8 х 14 из ПЗУ знакогенератора. См. примечание подф-н 00h .

42
^

Подф-н 02h: Загрузка шрифта 8 х 8 из ПЗУ



Вход: BL = номер загружаемого блока (0-7)
Выход: нет
Описание: Загружает в ОЗУ адаптера таблицу шрифта с матрицей символа 8 х 8 из ПЗУ знакогенератора. См. примечание подф-н 00h.

^

Подф-н 03h: Выбор шрифта



Вход: BL = Селектор блока шрифтов
Выход: нет
Описание: Эта подф-н позволяет Вам указывать в атрибуте символа, каким шрифтом эго нужно выводить на экран. Номер шрифта задаётся битом 3 в байте атрибутов. Селектор шрифта имеет вид:

7 6 5 4 3 2 1 0

Х Х




Биты:
0-1: Номер блока, если бит 3=0.

2-3: Номер блока, если бит 3=1.

4: Старший бит номера блока,

бит 3=0

5: Старший бит номера блока,

бит 3 = 1

Поясним эту структуру. Биты 0, 1 и 4 (для VGA) задают номер блока шрифта, которые используются, если 3-й бит байта атрибутов=0; биты 2, 3 и 5 (для VGA)- номер блока шрифта, который используется, если 3-й бит атрибутов равен 1. Если номера этих блоков совпадают, то бит 3 используется для управления повышенной яркостью цвета символа.
Примечания:

  1. Переключение шрифтов действует только в текстовых режимах.

  2. Фирма IBM рекомендует перед использованием двух шрифтов вызвать ф-н:

Mov ax, 1000h

Mov bx, 0712h

Int 10h
43

Для приведения битовых плоскостей EGA/VGA к восьми совместивым цветам экрана.

^

Подф-н 04h: Загрузка шрифта 8 х 14 из ПЗУ



Вход: BL = номер загружаемого блока (0-3)
Выход: нет
Описание: Загружает в ОЗУ адаптера таблицу шрифта с матрицей символа 8 х 16 из ПЗУ знакогенератора. См. примечания к подф-н 00h.

^

Подф-н 10h: Загрузка пользовательского шрифта для текстовых

режимов


Подф-н 11h: Загрузка шрифта 8 х 14 из ПЗУ

Подф-н 12h: Загрузка шрифта 8 х 8 из ПЗУ

Подф-н 14h: Загрузка шрифта 8 х 16 из ПЗУ
Описание Эти подф-н полностью аналогичны подф-н 00h-04h, описанным выше, но имеют следущие отличия:

  • активной должна быть страница дисплея 0;

  • они должны вызываться немедленно после установки видеорежыма;

  • они пересчитывают размеры текстового экрана и соответственно перепрогрммируют ряд регистров видеоадаптера, а именно:




  1. Пусть n= количество байтов на символ. Вычисляет число строк на экране как

целая часть [( 200 или 350 ) / n] –1.

  1. Пересчитывается размер буфера экрана как

Число строк х число столбцов х 2

3.Перепрограммируются следущие регистры ЭЛТ:
R9 = n - 1

R10 = n - 2

R11 = n – 1

R12 = число строк х n х 2 – 1 -для режимов CGA

R14 = n - 1

^

44

Подф-н 20h: Загрузка пользовательского шрифта для графических

режимов в Int 1Fh.



Вход: ES:BP = адрес таблицы шрифта
Выход: нет
Описание: Устанавливает в вектор Int 1Fh указатель на пользовательскую таблицу. ES:BP должна содержать адрес этой таблицы, которая представляет собой матрицы размером 8 х 8 символов с кодами ASCII 128-255 (длина таблицы –8 х 128=2048 байтов).

^

Подф-н 21h: Загрузка пользовательского шрифта для графических

режимов в Int 43h.



Вход: ES:BP = адрес таблицы шрифта

CX = размер символа в байтах

BL = код числа строк на экране:

0 – задаётся пользователем

1 – 14 строк на экране

2 – 25 строк на экране

3 – 43 стоки на экране

DL = число строк на экркне при ВL=0

Выход: нет
Описание: Устанавливает в вектор Int 43h указатель на пользовательскую таблицу. ES:BP должна содержать адрес этой таблицы, которая представляет собой матрицы всех 256 символов размером 8 х 8 (длина таблицы –8 х 256=4096 байтов).

^

Подф-н 22h: Загрузка шрифта 8 х 14 из ПЗУ.


Вход: BL = код числа строк на экране:

0 – задаётся пользователем

1 – 14 строк на экране

2 – 25 строк на экране

3 – 43 стоки на экране

DL = число строк на экркне при ВL=0

Выход: нет
Описание: Устанавливает в вектор Int 43h указатель на таблицу

символов монохомного дисплея (8 х 14), хранящуюся в ПЗУ.

45
^

Подф-н 23h: Загрузка шрифта 8 х 8 из ПЗУ.


Вход: BL = код числа строк на экране:

0 – задаётся пользователем

1 – 14 строк на экране

2 – 25 строк на экране

3 – 43 стоки на экране

DL = число строк на экркне при ВL=0
Выход: нет
Описание: Устанавливает в вектор Int 43h указатель на таблицу

символов 8 х 8, хранящуюся в ПЗУ.
^

Подф-н 24h: Загрузка шрифта 8 х 16 из ПЗУ.


Вход: BL = код числа строк на экране:

0 – задаётся пользователем

1 – 14 строк на экране

2 – 25 строк на экране

3 – 43 стоки на экране

DL = число строк на экркне при ВL=0

Выход: нет
Описание: Устанавливает в вектор Int 43h указатель на таблицу

символов 8 х 16, хранящуюся в ПЗУ.

^

Подф-н 30h: Получение информации о шрифтах.


Вход: BL = код запроса:

0 – вернуть иформацыю о Int 1Fh

1 – вернуть иформацыю о Int 43h

2 – вернуть иформацыю о шрифте 8 х 14 в ПЗУ

3 – вернуть иформацыю о шрифте 8 х 8 в ПЗУ

4 – вернуть иформацыю о шрифте 8 х 8 в ПЗУ

( старше 128 символов )

5 – вернуть иформацыю об альтернативном

шрифте 9 х 14

6 – вернуть иформацыю о шрифте 8 х 16 в ПЗУ

7 – вернуть иформацыю об альтернативном

шрифте 9 х 16
Выход: ES:BP = адрес запрошеной таблицы

CX = количество байтов на символ

DL = число строк на экркне - 1
46

Описание: Возращает указанную информацыю о запрошенном шрифте.
Функция 12h – Выбор альтернативы ( EGA, VGA, MCGA)
Вход: AH = 12h

ВL = номер подф-н:
^

10H - Вернуть информацыю о EGA/VGA (EGA, VGA )

20H – Выбрать альтернативную програму печати экрана

(EGA, VGA )


30H – Задать разрешеение экрана для текстовых режимов(VGA)

31H - Управление сменой палитры (EGA, VGA )

32H – Управление видеовыходом (VGA, MCGA)

33H – Приведение к серому цвету(VGA, MCGA)

34H – Управление эмуляцыей курсора(VGA)

35H - Переключение дисплея (VGA, MCGA)

36H - Управление экраном (VGA)
^

прочие – зависит от подф-н;


Выход: Определяется подф-н
Описание: Эта ф-н объеденяет группу разнородных функций адаптера ЕGA, VGA и MCGA. Подф-н 10h и 20h применимы к адаптерам VGA и ЕGA; 30h, 34h и 36h – только к VGA, 31h, 32h, 33h и 35h – к VGA и MCGA.

^

Подф-н 10h: Вернуть информацыю о ЕGA/ VGA .


Вход: ВН = Режим дисплея:

0- цветной режим ( порт 3DXh )

1- монохромный режим ( порт 3DXh )

BL = Объём ОЗУ на плате адаптера:

0 – 64К

1 – 128К

2 –192К

3 – 256К

СН = Характеристики ( feature bits ):

бит 0 = feato ( контакт 19 )

бит 1 = feato ( контакт 17 )

биты 2-7- зарезервированы.

CL = Положение DIP- переключателей (см. ниже)

47

Описание: Эта подф-н возращает информацыю об адаптере EGA или VGA и о подключенных к нему дисплеях. Содержимое CL несёт следущая информацыю:
0Fh Первичный MDA

Вторичный ЕGA c цветным монитором 40 х 25
0Eh Первичный MDA

Вторичный ЕGA c цветным монитором 80 х 25
0Dh Первичный MDA

Вторичный ЕGA c разширенным цветным монитором

( эмуляцыя СGA )
0Ch Первичный MDA

Вторичный ЕGA c разширенным цветным монитором

( эмуляцыя EGA )
0Bh Первичный CGA с цветным монитором 40 х 25

Вторичный ЕGA c монохромным монитором
0Ah Первичный CGA с цветным монитором 80 х 25

Вторичный ЕGA c монохромным монитором
09h Первичный ЕGA с цветным монитором 40 х 25

Вторичный MDA
08h Первичный ЕGA с цветным монитором 80 х 25

Вторичный MDA
07h Первичный ЕGA с разширенным цветным монитором

( эмуляцыя СGA )

Вторичный MDA
06h Первичный ЕGA с разширенным цветным монитором

( эмуляцыя EGA )

Вторичный MDA
05h Первичный EGA с монохромным монитором

Вторичный CGA c цветным монитором 40 х 25

48

04h Первичный EGA с монохромным монитором

Вторичный CGA c цветным монитором 80 х 25
03h – 00h недопустима комбинации
Подф-н:VGA не имеет DIP – переключателей, поэтому соответствующая информацыя извлекается из памяти.

^

Подф-н 20h: Выбирает альтернативную програму печати экран.


Вход: нет

Выход: нет
Описание: Замменяет програмупечатиэкрана понажатию клавиши PrtSc на альтернативную в соответствиис числом строк на экране.Эту подф-нследует вызывать всякий раз после изменения числа строк экрана.

^

Подф-н 30h: Задатьразрешение экрана для текстовых режимов.


Вход: АL = количество линий на экране:

0 – 200 линий;

1 – 350 линий;

2 – 400 линий.
Выход : AL = 12h, если BIOS поддерживает эту подф-н
Описание: Задаёт количество линий на экране для текстовых режимов.Действие подф-н сказывается после вызова 00h ( сменить видеорежим ).

^

Подф-н 31h: Управление сменой палитры .


Вход: АL - 0 – разрешить переустановку палитр

1 – запретить переустановку палитр

Выход: АL = 12h, если BIOS поддерживает эту подф-н
Описание: Если АL=0, то при смене видеорежима регистры палитры заполняются значуниями. Принятыми по умолчанию; если Al=1, то при смене видеорежима текущее значение регистры палитр. Это относится к регистры палитр, регисту рамки и цветов.

^

Подф-н 32h: Управление видеовыходом.


Вход: АL - 0 – разрешить видеовыход

49

1 – запретить видеовыход

Выход: АL = 12h, если BIOS поддерживает эту подф-н
Описание: Разрешает или запрещает порты ввода-вывода видеоадаптера и декодирование адреса буфера регенерации экрана для дисплея, который активен в данный момент.

^

Подф-н 33h: Приведение к серому цвету.


Вход: АL - 0 – разрешить суммирование

1 – запретить суммирование

Выход: АL = 12h, если BIOS поддерживает эту подф-н
Описание: Разрешает или запрещает приведение цветов к оттенкам серого цвета. Если разрешено, то суммирование выполняется при выполнении ф-н 00h ( задать видеорежим ) и 10h ( задать видеорежим палитры ).

^

Подф-н 34h: Управление эмулции курсора.


Вход: АL - 0 – разрешить эмулцию

1 – запретить эмулцию

Выход: АL = 12h, если BIOS поддерживает эту подф-н
Описание: Разрешает или запрещает эмулции курсора. Если эмулция разрешено, то размер курсора, заданый ф-н 01h,прводитса к текущей высоте симвлов экрвна. После включения ПЭВМ эмуляция разрешена.

^

Подф-н 35h: Переключение дисплея.


Вход: АL = код действия ( см. ниже )

Прочие- зависит от действия

Выход: АL = 12h, если BIOS поддерживает эту подф-н
Описание: Эта подф-н поддерживает переключение между BIOS,

Расположенной на системной плате, и BIOS, зашитым в платуадаптера дисплея. Она нужна только втом случаии, если два эти BIOS противоречат друг другу ( несовместимы ).Для использования ёё необходимо. Чтобы оба BIOS поддерживали подф-н 32h ( запретить видеовывод ). Этта подф-н поддерживает

50

следующие действия ( код действия задаётся в AL ):
0-отключит BIOS видеоадаптера;

ES:DI должны указывать на буфер сохранения ( облать

памяти размером 128 байтов );

1-включить BIOS системной платы;

2-декадировать видеоадаптер

ES:DI должны указывать на буфер сохранения ( облать

памяти размером 128 байтов );

3-активизировать видеоадаптер;

ES:DI должны указывать на ранее заполненый буфер

сохранения

Опишемпоследовательнось переключения дисплея. Первоначально активен BIOS видеоадаптра. Для переключения на BIOS системной платы в первый раз нуно:

Подф-н 36h: Управление экраном.


Вход: АL = 0-Разрешить экран

1-Запретить экран

Выход: АL = 12h, если BIOS поддерживает эту подф-н
Описание: Разрешает или запрещает поступления видеосигнала на экрвн. Если екранзапрещён, то весь вывод на него идёт чёрным цветом по чёрному.









Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації