Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВМиС - Готовые шпоры.doc
Скачиваний:
145
Добавлен:
15.09.2014
Размер:
1.75 Mб
Скачать

60. О рганизация вывода информации на экран дисплея через прерывания. Прерывания dos

Вывод текстовой информации средствами DOS (int 21h) - это вывод символа (функция 02h), вывод строки (функция 09h), кроме того, можно обращаться к экрану как к стандартному файлу вывода - stdout, при помощи соответствующих функций. Данные функции имеют следующий формат при вызове:

02h

вход

AH - 02h

DL - символ (либо его ASCII код)

выход

НЕТ ЗНАЧЕНИЙ

09h

вход

AH - 09h

DS:DX - смещение начала строки,

заканчивающейся символом '$'

Также, кроме стандартных функций вывода, существуют функции:

- (06H) универсальная функция ввода-вывода, ее действие основано на обращении к клавиатуре и дисплею, как к стандартным устройствам ввода-вывода;

- (04H) вспомогательный вывод, использует для вывода обращение к дисплею, как к вспомогательному устройству (например: по умолчанию вспомогательным устройством считается последо вательный порт связи RS-232 - COM1)

Прерывания bios

Прерывания видео, обслуживаемые BIOS, обеспечивают доступ к видеоконтроллеру дисплея с помощью программного прерывания INT 10h. Оно поддерживает следующие типы функций:

1.инициализация дисплея в одном из нескольких форматов;

2.чтение из памяти экрана и запись в нее;

3.прокрутка окон.

Два других прерывания (INT 1Dh и INT 1Fh) содержат указатели таблиц. Они предназначены для изменения параметров контроллера ЭЛТ и расширения таблицы точечных изображений в графическом режиме. Ниже приведен краткий перечень этих и других прерываний видео:

Прерывание

Тип

Функция

(вектор)

INT 10h

SW

Драйвер видео

INT 1Dh

PTR

Таблица параметров видео CGA/Mono

INT 1Fh

PTR

Таблица точечных изображений

INT 42h

SW

Драйвер видео системной ROM

INT 43h

PTR

Таблица точечных изображений EGA/VGA

Когда имеет место одно из этих прерываний, система переходит к адресу, указанному вектором для этого прерывания.

Int 10h

Программное прерывание INT 10H поддерживает следующие часто используемые функции для вывода информации:

  • установить размер курсора

  • установить положение курсора

  • записать знак и его атрибут

  • записать пиксель

Существуют также несколько сервисных функций для работы с видеоинформацией:

  • разрешить изменение интенсивности или мерцания

  • установить один DAC регистр

  • преобразование значений регистров DAC в оттенки серого

Подфункции 02h и 03h идентичны подфункциям 00h и 01h, с той разницей, что они записывают строку знаков и атрибутов последовательно, т.е. записывает сначала знак, а потом его атрибут.

Как уже было отмечено выше, функции ROM BIOS позволяют работать как в текстовых так и в графических режимах.

Int 1Dh

Данный вектор указывает на таблицу параметров, по которой инициализируется контроллер ЭЛТ после выдачи команды INT 10h.

INT 1Dh может быть использовано для представления заменяющей таблицы параметров в различных условиях работы контроллера ЭЛТ. Например при использовании некоторых мониторов можно изменить позицию строчной синхронизации. Для объяснения вышесказанного ниже приведена таблица параметров контроллера ЭЛТ 6845.