51
Продолжение таблицы 5.2
1 2 3
INT10_GET_MODE 00Fh get video display mode (получение
текущего видеорежима(AL); AH-
число символов в строке; BH-
страница)
INT10_SET_PALETTE_REGS 010h set palette registers
INT10_FONT_SIZE 011h determine the # of rows
INT10_WRITE_STRING 013h write string (вывод символьной
строки)
INT10_GET_VIDEO_BUFFER 0FEh get video buffer (получение видео-
буфера)
INT10_UPDATE_VIDEO_
BUFFER
0FFh update video buffer (изменение ви-
деобуфера)
Экранные операции в DOS вызываются по вектору прерываний 021h -
Dos Function call (см. таблицу 5.3).
Таблица 5.3 - Системные вызовы DOS
Наименование функции Значе-
ние
функции
Выполняемая
Операция
DOS_WRITE_STRING 009h display a '$' terminated string (вывод
символьной строки; DS:DX- адрес)
DOS_WRITE_TO_HANDLE 040h write to File Handle
5.2.4 Ввод-вывод символов
Все необходимые экранные и клавиатурные операции можно выпол-
нить с помощью команды INT 10H (прерывание), которая передает управле-
ние в BIOS. Для выполнения некоторых более сложных операций существует
прерывание более высокого уровня INT 21H,которое сначала передаёт управ-
ление в DOS для выполнения дополнительных вычислений. Команда INT вы-
полняет следующее:
- уменьшает указатель стека на 2 и заносит в стек содержимое флаго-
вого регистра;
- очищает флаги TF и IF;
- заносит в стек содержимое регистров СS и IP;
- обеспечивает выполнение необходимых действий и восстанавливает
из стека значения регистров, возвращает управление в прерванную программу
на команду, следующую за INT.
В таблице 5.4 приведены примеры положений курсора на экране для
обычного видиомонитора, имеющего 25 строк и 80 столбцов.