Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Int 16h - Обслуживание клавиатуры




Int 16h - Обслуживание клавиатуры

Для управления клавиатурой используются следующие функции:

 

Функция Назначение
00h Чтение клавиатуры
01h Опрос клавиатуры
02h Состояние клавиатуры
03h Задание скорости клавиатуры (PCjr, AT, PS/2)
04h Управление щелчком клавиш (PCjr, Convertible)
05h Запись в буфер клавиатуры (многие)
10h Расширенное чтение клавиатуры (многие)
11h Расширенный опрос клавиатуры (многие)
12h Расширенное состояние клавиатуры (многие)

Int 17h - Управление принтером

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

 

Функция Назначение
00h Вывод символа на печать
01h Инициализация принтера
02h Опрос состояния принтера

 

Примечания: Эти функции поддерживаются всеми версиями BIOS, но при этом существуют следующие особенности.

BIOS AT, датированный ранее 11/15/85, PCjr, PC и BIOS XT от 11/08/82 проверяют базовый порт принтера с номером DX на совпадение с нулем. Если порт равен нулю, никакие действия не выполняются. В противном случае выполняется требуемая операция.

Никаких дополнительных действий по проверке корректности порта принтера, хранящегося в области данных по адресу 00408h, не предпринимается.

 

BIOS XT от 01/10/86 и позже выполняет следующие проверки: если DX больше 3 или базовый порт принтера с номером DX равен 0, то никакие действия не выполняются и на выходе AH=29h.

 

BIOS PC Convertible проверяет базовый порт принтера с номером DX на совпадение с нулем. Если порт равен нулю, никакие действия не выполняются и на выходе AH=01h. В противном случае выполняется требуемая операция. Никаких дополнительных действий по проверке корректности порта принтера, хранящегося в области данных по адресу 00408h, не предпринимается.

 

BIOS AT от 11/15/85 и XT-286 выполняют следующие проверки: если DX больше 3 или базовый порт принтера с номером DX равен 0, то никакие действия не выполняются и AH возвращается неизменным.

 

BIOS PS/2 выполняет следующие проверки: если DX больше 2 или базовый порт принтера с номером DX равен 0, то никакие действия не выполняются и AH возвращается неизменным.

Int 18h - Интерпретатор Бейсика

В этом векторе хранится адрес точки входа в интерпретатор Бейсика, прошитый в ПЗУ. Если POST не может загрузить операционную систему, то он вызывает это прерывания для входа в Бейсик.

Примечание. На IBM PC адрес входа в Бейсик равен F600h: 0.

 

PC-совместимые ПЭВМ не имеют встроенного Бейсик-интерпретатора и должны взамен использовать его дисковую версию - программу GW-BASIC.

Int 19h - Загрузка системы

Вызов этого прерывания производится в конце POST и приводит к попытке чтения начального загрузчика операционной системы сначала с первого НГМД, а затем (при неудаче) - с первого жесткого диска. Загрузочный сектор ОС располагается в первом секторе дорожки, головка. Он считывается по адресу 0: 7C00h, и управление передается по этому адресу. Дальнейшие действия зависят от типа носителя: загрузочный сектор жесткого диска анализирует таблицу разделов, загружает загрузчик активного раздела и передает ему управлению; загрузочный сектор дискеты считывает непосредственно операционную систему и запускает ее.

Если загрузка ОС не удается, то управление передается Бейсику, прошитому в ПЗУ вызовом Int 18h.

Примечание: Это прерывание не эквивалентно нажатию клавиш Ctrl+Alt+Del. Оно является лишь последним шагом в цепочке действий, вызываемых по нажатию этой комбинации клавиш, поэтому прямой вызов Int 19h из прикладной программы может привести к зависанию ПЭВМ. Корректная перезагрузка системы из программы состоит в передаче управления по адресу F000h: FFF0h. Таким образом, можно произвести как " холодную", так и " теплую" перезагрузку системы.

Холодная перезагрузка эквивалентна загрузке по включению ПЭВМ, теплая - перезагрузке по нажатию Ctrl+Alt+Del и отличается от холодной пропуском теста ОЗУ. Для выполнения теплой перезагрузки до передачи управления на F000h: FFF0h нужно заслать по адресу 00472h слово 1234h.

Int 1Ah - Обслуживание таймера_F

Используется для чтения и установки системного таймера и часов реального времени (RTC). Для этого имеются следующие функции:

Функция Назначение
00h Чтение системного таймера
01h Установка системного таймера
02h Чтение текущего времени RTC (AT)
03h Установка текущего времени RTC (AT)
04h Чтение текущего даты RTC (AT)
05h Установка текущего даты RTC (AT)
06h Задание времени побудки RTC (AT)
07h Сброс времени побудки RTC (AT)
08h Задание времени включения ПЭВМ (Convertible)
09h Чтение параметров побудки (Convertible, PS/2-30)
0Ah Чтение количества дней (некоторые XT, PS/2)
0Bh Установка количества дней (некоторые XT, PS/2)
80h Управление звукогенератором (PCjr)

 

Примечания:

Функции 00h и 01h доступны на всех ПЭВМ.

Функции 02h - 07h - на всех ПЭВМ, оснащенных часами реального времени, т. е. на AT, XT-286, PC Convertible и PS/2.

Функция 08h поддерживается только на PC Convertible.

Функция 09h - на PC Convertible и PS/2 модель 30.

Функции 0Ah и 0Bh - доступны на XT от 01/10/86 и PS/2.

Функция 80h поддерживается только PCjr.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...