Энциклопедия Turbo Pascal. Главы 1-4 - Системные подпрограммы, вызываемые посредством прерываний
ОГЛАВЛЕНИЕ
Страница 57 из 60
Таблица 1
Системные подпрограммы, вызываемые посредством прерываний
---------------------------------------------------------------
Регистр АН Функция
---------------------------------------------------------------
Функции ввода-вывода на дисплей - прерывание 10h
0 Установка режима экрана
Если AL=0: 40х25 черно-белый;
1: 40х25 цветной;
2: 80х25 черно-белый;
3: 80х25 цветной;
4: 320х200 цветной графический;
5: 320х200 черно-белый графический;
6: 340х200 черно-белый графический
1 Установка строк курсора
Биты 0-4 СН содержат начало строки,
биты 5-7 нулевые;
биты 0-4 CL содержат конец строки,
биты 5-7 нулевые
2 Установка позиции курсора
DH: строка,
DL: столбец,
ВН: номер страницы экрана
3 Читать позицию курсора
ВН: номер страницы экрана
Результат:
DH: строка,
DL: столбец,
СХ: режим
4 Читать позицию светового пера
Результат:
если АН=0, то световое перо не инициировано;
если АН=1, то световое перо инициировано;
DH: строка,
DL: столбец,
СН: строка растра (0-199)
ВХ: столбец элемента изображения (0-319 или
0-639)
5 Установка активной страницы экрана
AL может принимать значение от 0 до 7
Функции ввода-вывода на дисплей - прерывание 10h
6 Просмотр страницы вверх
AL: число сдвигаемых строк (от нуля до всех)
СН: строка верхнего левого угла,
CL: столбец верхнего левого угла,
DH: строка нижнего правого угла,
DL: столбец нижнего правого угла,
ВН: атрибуты пустой строки
7 Просмотр страницы вниз
см. предыдущую функцию
8 Чтение символа в позиции курсора
ВН: страница экрана,
Результат:
AL: считанный символ,
АН: атрибут
9 Записать символ и атрибут в позицию курсора
ВН: страница экрана,
BL: атрибут,
СХ: число символов записи,
AL: символ
10 Записать символ в текущей позиции курсора
ВН: страница курсора,
СХ: число символов записи,
AL: символ
11 Установить палитру цвета
ВН: номер палитры,
BL: цвет
12 Записать точку
DX: номер строки,
СХ: номер столбца,
AL: цвет
13 Читать точку
DX: номер строки,
СХ: номер столбца
Результат:
AL: считанная точка
14 Записать символ на экран и продвинуть курсор
AL: символ,
BL: цвет,
ВН: страница экрана
15 Читать состояние экрана
Результат:
AL: текущий режим,
АН: число столбцов на экране,
ВН: текущая активная страница экрана
Список оборудования - прерывание 11h
Читать список оборудования
Результат:
АХ: список установленного оборудования:
бит 0: имеется одна из дискет,
бит 1: не используется,
бит 2,3: ЗУ системной платы, 11=64К,
бит 4,5: начальный режим экрана:
10: 80 столбцов, цветной,
11: монохромный,
01: 40 столбцов, цветной,
бит 6,7: число дисковых накопителей, 0=1
бит 8: установка микросхемы прямого доступа в
память, 0 - установлена
бит 9,10,11: число портов интерфейса RS-232
бит 12: 1 - установлен игровой адаптер,
бит 13: 1 - последовательное печатающее
устройство /только типа PCir/
бит 14,15: число печатающих устройств
Размер памяти - прерывание 12h
Результат представляет собой число килобайт
оперативной памяти, имеющейся в системе
Результат:
АХ: число килобайт ОЗУ
Функции ввода-вывода на диск - прерывание 13h
0 Сброс дисковой системы
1 Чтение состояния диска
Результат:
AL: состояние/см.техническое справочное
руководство фирмы ИБМ/
2 Чтение секторов в память
DL: номер драйвера,
DH: номер головки,
СН: номер дорожки,
CL: номер сектора,
AL: число считываемых секторов,
ES:BX: адрес буфера
Результат:
AL: число считанных секторов,
АН: нуль при успешном чтении, в противном
случае выдается состояние
3 Запись секторов на диск
/как для операции чтения/
4 Проверить
/как для операции чтения/
5 Формат дорожки
DL: номер драйвера,
DH: номер головки,
СН: номер дорожки,
EL:BX: информация сектора
Функции ввода-вывода посредством клавиатуры - прерывание 16h
0 Чтение кода сканирования
Результат:
АН: код сканирования,
AL: код символа
1 Получить состояние буфера
Результат:
ZE: 1 при пустом буфере,
0 при наличии символов и следующим
символом в регистре АХ
2 Получить состояние клавиатуры
(см.техническое справочное руководство
фирмы IBM)
Функции ввода-вывода на печатающее устройство - прерывание
17h
0 Печатать символ
AL: символ,
DX: номер печатающего устройства
Результат:
АН: состояние
1 Инициализировать печатающее устройство
DX: номер печатающего устройства
Результат:
АН: состояние
2 Читать состояние
DX: номер печатающего устройства
Результат:
АН: состояние
Функции ДОС высокого уровня - прерывание 21h (неполный
список)
1 Чтение символа с клавиатуры
Результат:
AL: символ
2 Вывод символа на экран
DL: символ
3 Чтение символа с асинхронного порта
Результат:
AL: символ
4 Запись символа по асинхронному порту
DL: символ
5 Выдать символ на устройство из списка
DL: символ7 Чтение символа с клавиатуры без вывода на экран
Результат:
AL: символ
В Проверить состояние клавиатуры
Результат:
AL: OFFH при нажатии клавиши; 0 в противном
случае
D Сбросить диск
E Установить стандартный драйвер
DL: номер драйвера /0-А, 1-В,.../
11 Поиск имени файла
/4Е под 2.х/ DX: адрес блока FCB
Функции ввода-вывода на экран - прерывание 10h
Результат:
AL: 0, если найден, FFh, если не найден
12 Найти следующее имя файла
/4F под 2.х/ /как в предыдущем случае/
1А Установить адрес передачи диска
DX: адрес передачи диска
2А Получить дату системы
Результат:
СХ: год /1980-2099/,
DX: месяц /1-12/,
DL: день /1-31/
2В Установить системную дату
СХ: год /1980-2099/,
DH: месяц /1-12/,
DL: день /1-31/
2С Получить системное время
Результат:
СН: часы /0-23/,
CL: минуты /0-59/,
DH: секунды /0-59/,
DL: сотые секунды /0-99/
2D Установить системное время
СН: часы /0-23/,
CL: минуты /0-59/,
DH: секунды /0-59/,
DL: сотые секунды /0-99/