ВУЗ:
Составители:
42
ES:BX => дескрипторы секторов (необходим 512-байтовый буфер)
Выход: Флаг переноса = 1 при ошибке и код ошибки в AH.
AH = 17H установить тип дискеты (используется перед операцией
форматирования)
Вход: DL = номер устройства диска (0 или 1)
AL = тип носителя диска:
• 0 = не используется
• 1 = 360K дискета в 360K устройстве
• 2 = 360K дискета в 1.2M устройстве
• 3 = 1.2M дискета в 1.2M устройстве
int 16H: Сервис
клавиатуры
Это программное прерывание предоставляет интерфейс прикладного
уровня с клавиатурой. Нажатия клавиш на самом деле обрабатываются
асинхронно на заднем плане. Когда клавиша получена от клавиатуры, она
обрабатывается прерыванием int 09H и помещается в циклическую
очередь.
AH = 00H читать (ожидать) следующую нажатую клавишу
Выход: AL = ASCII символ (если AL=0, AH содержит Расширенный
код ASCII )
AH = Сканкод или Расширенный код ASCII
AH = 01H
Проверить готовность символа (и показать его, если он есть)
Выход: ZF = 1 если символ не готов.
ZF = 0 если символ готов.
AX = как для функции 00H (но символ здесь не удаляется из
очереди).
AH = 02H Читать состояние shift-клавиш. Определить, какие shift-клавиши
нажаты.
int 1cH: Пользовательское прерывание по таймеру
Это прерывание возникает по каждому тику аппаратных часов
(каждые
55 миллисекунд; приблизительно 18.2 раз в секунду).
Первоначально этот вектор указывает на IRET, но может быть изменен
прикладной программой, чтобы адресовать фоновую программу
пользователя, использующую прерывание по таймеру. Поскольку
программа int 1cH выполняется во время низкоуровневого аппаратного
прерывания, вы должны помнить, что система еще не сбросила контроллер
прерываний и потому другие аппаратные прерывания, в том
числе
прерывание от клавиатуры, не будут происходить при работе INT 1cH (т.е.
вы не сможете обработать ввод пользователя).
42
ES:BX => дескрипторы секторов (необходим 512-байтовый буфер)
Выход: Флаг переноса = 1 при ошибке и код ошибки в AH.
AH = 17H установить тип дискеты (используется перед операцией
форматирования)
Вход: DL = номер устройства диска (0 или 1)
AL = тип носителя диска:
• 0 = не используется
• 1 = 360K дискета в 360K устройстве
• 2 = 360K дискета в 1.2M устройстве
• 3 = 1.2M дискета в 1.2M устройстве
int 16H: Сервис клавиатуры
Это программное прерывание предоставляет интерфейс прикладного
уровня с клавиатурой. Нажатия клавиш на самом деле обрабатываются
асинхронно на заднем плане. Когда клавиша получена от клавиатуры, она
обрабатывается прерыванием int 09H и помещается в циклическую
очередь.
AH = 00H читать (ожидать) следующую нажатую клавишу
Выход: AL = ASCII символ (если AL=0, AH содержит Расширенный
код ASCII )
AH = Сканкод или Расширенный код ASCII
AH = 01H Проверить готовность символа (и показать его, если он есть)
Выход: ZF = 1 если символ не готов.
ZF = 0 если символ готов.
AX = как для функции 00H (но символ здесь не удаляется из
очереди).
AH = 02H Читать состояние shift-клавиш. Определить, какие shift-клавиши
нажаты.
int 1cH: Пользовательское прерывание по таймеру
Это прерывание возникает по каждому тику аппаратных часов
(каждые 55 миллисекунд; приблизительно 18.2 раз в секунду).
Первоначально этот вектор указывает на IRET, но может быть изменен
прикладной программой, чтобы адресовать фоновую программу
пользователя, использующую прерывание по таймеру. Поскольку
программа int 1cH выполняется во время низкоуровневого аппаратного
прерывания, вы должны помнить, что система еще не сбросила контроллер
прерываний и потому другие аппаратные прерывания, в том числе
прерывание от клавиатуры, не будут происходить при работе INT 1cH (т.е.
вы не сможете обработать ввод пользователя).
Страницы
- « первая
- ‹ предыдущая
- …
- 40
- 41
- 42
- 43
- 44
- …
- следующая ›
- последняя »
