AH | Функция |
00h | Включить мотор кассетного привода. Выход: AH!=86 и AH!=80, иначе касетный привод не найден. |
прочие кассетные функции |
AH | Функция | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
24h | Линия A20 Вход: AL: 1 - Включить линию A20 2 - Выключить линию A20 3 - узнать, можно ли переключить линию A20 через порт 92h Выход: При ошибке установлен флаг переноса и AH=86 Если в AL было переданно значение 3, то в BL==2 означает, что можно переключить линию A20 через порт 92h Примечание: Эта функция мало где описана, и, вероятно, поддерживается не всеми БИОСами | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4Fh | Внутренняя функция Эта функция вызывается обработчиком прерывания 9h (прерывание от клавиатуры). Точное назначение функции неизвестно. Реализация зависит от разработчиков БИОСа. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
80h | Открыть устройство. По умолчанию, ничего не делает (зарезервированна для многозадачных ОС реального режима) Вход: BX = ID устройства CX = ID процесса | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
81h | Закрыть устройство. По умолчанию, ничего не делает (зарезервированна для многозадачных ОС реального режима) Вход: BX = ID устройства CX = ID процесса | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
82h | завершить программу устройства. По умолчанию, ничего не делает (зарезервированна для многозадачных ОС реального режима) Вход: BX = ID устройства | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
83h | Ждать события. Запустить таймер и установить флаг по истечении интервала. Только AT-совместимые компьютеры
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
84h | Обеспечение джойстика (вероятно, подключённого через стандартный (и безнадёжно устаревший) игровой порт). Вход: DX = код подфункции:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
85h | клавиша SysReq.вызывается прерыванием INT 09H при нажатии и отпускании клавиши SysReq. Только AT-совместимые компьютеры По умолчанию, ничего не делает (зарезервированна для многозадачных ОС реального режима) Вход: AL = 0: SysReq нажата ('make') AL = 1: SysReq отпущена ('break') | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
86h | Ждать. Только AT-совместимые компьютеры Циклит с разрешенными прерываниями до истечения интервала времени. Вход: CX - время ожидания в микросекундах (старшая часть) DX - время ожидания в микросекундах (младшая часть) Примечание: На большинстве систем время ожидания округляедся до кратного 977 милисекундам Не реккомендуется указывать в качестве задержки значения меньше 1000 микросекунд (3e8h) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
87h | Переслать блок extended-памяти. Только AT-совместимые компьютеры с процессором 286 и выше Вход: CX = размер блока в словах (максимум 8000h т.е. 64 кб.) ES:SI = GDT db 16 dup (0) 16 пустых байтов dw ? размер источника в байтах (2*[сх]+1) dw ? младшая часть адреса источника db ? старшая часть адреса источника db 93h разрешены чтение и запись dw 0 пустое (резервное) слово dw ? размер приемника в байтах (2*[сх]+1) dw ? младшая часть адреса приемника db ? старшая часть адреса приемника db 93h разрешены чтение и запись dw 0 пустое (резервное) слово db 16 dup (0) 16 пустых байтов Выход: AH - статус: 0 - успешно 1 - ошибка памяти 2 - во время переключения возникло исключение. 3 - переключение линии A20 не удалось 80h - неиизвестная команда 86h - неизвестная функция Примечание: Прерывания могут быть запрещены в процессе перемещения данных. Спецификация Embedded BIOS 4.1 утверждает, что байты 8-10h в GDT должны корректно указывать на GDT, т.е. должны быть заполнены аналогично частям источника (10h-18h) и приёмника(18h-20h) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
88h | Размер extended-памяти.(не более 64Мб) Только AT-совместимые компьютеры Выход: AX = число непрерывных 1Kб блоков сверх 1Mб | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
89h | Войти в режим Protected (286 Virtual memory). это полезная штука, если вы не знаете, что это за зверь - Protected Mode i286. Вход: ES:SI => 8-элементная таблица глобальных дексрипторов (GDT) (ниже) BH = смещение в IDT начала первых 8 аппаратных прерываний (IRQ) BL = смещение в IDT начала вторых 8 аппаратных прерываний (IRQ) Выход: AH - статус: 0 - успешно 1 - ошибка памяти 2 - во время переключения возникло исключение. 3 - переключение линии A20 не удалось 80h - неиизвестная команда 86h - неизвестная функция Если не было ошибок, то все сегментные регистры изменяются. AX и BP теряются. 80286 входит в режим Protected без прямого выхода в режим Real. Примечание: Cтруктура GDT: ES:[SI]+00h фиктивный дескриптор (все нули) ES:[SI]+08h дескриптор этой GDT (инициализирует пользователь) ES:[SI]+10h дескриптор для IDT (инициализирует пользователь) ES:[SI]+18h дескриптор для caller DS (инициализирует пользователь) ES:[SI]+20h дескриптор для caller ES (инициализирует пользователь) ES:[SI]+28h дескриптор для caller SS (инициализирует пользователь) ES:[SI]+30h дескриптор для caller CS (инициализирует пользователь) ES:[SI]+38h временный BIOS CS (все нули) Структура Дескриптора: dw ? - размер в байтах dw ? - младшая часть адреса начала db ? - старшая часть адреса начала db ? - права доступа: Биты 0-3 : Тип сегмента: Для системных десткрипторов: 0 - резерв 1 - свободный 16-битный TSS 2 - LDT 3 - занятый 16-битный TSS 4 - 16-битный шлюз вызова 5 - Шлюз задачи 6 - 16-битный шлюз прерывания 7 - 16-битный шлюз ловушки 8 - резерв 9 - свободный 32-битный TSS (i386+) 10 - резерв 11 - занятый 32-битный TSS (i386+) 12 - 32-битный шлюз вызова (i386+) 13 - резерв 14 - 32-битный шлюз прерывания (i386+) 15 - 32-битный шлюз ловушки (i386+) Для десткрипторов приложений: бит 0 - было обращение к сегменту бит 1 - для дескриптора данных: доступ на запись, для дескриптора кода: доступ на чтение бит 2 - для дескриптора данных: запись с конца, для дескриптора кода: conforming бит 3 = 0 : данные; = 1 : код Биты 4 : Тип дескриптора (установлен -> для приложений; сброшен -> системный) Биты 5-6 : Уровень привилегий Биты 7 : Установлен -> сегмент находится в оперативной памяти db ? - на i286 резерв, на i386+ расширенные права доступа: Биты 0-3 : старшие 4 бита лимита сегмента Биты 4 : доступность Биты 5 : резерв Биты 6 : 16-битный, если сброшен, 32-битный если установлен Биты 7 : размерность: блоками по 4Кб, если установлен; байтами, если сброшен db ? - на i286 резерв, на i386+ старшие 8 бит начала сегмента | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
90h | Цикл занятости устройства. Только AT-совместимые компьютеры По умолчанию, ничего не делает (зарезервированна для многозадачных ОС реального режима) Вход: AL = код типа устройства 00h = твердый диск 01h = дискета 02h = клавиатура 03h = PS/2 мыш 21h = ожидание ввода с клавиатуры Работает не везде 80h = сеть FBh = звукРаботает не везде FCh = перезапуск дискаРаботает не везде FDh = запуск мотора дискеты FEh = принтер ES:BX => управляющий блок для кодов 80h - BFh (по иным сведеньям 80h - FFh) Примечание: Здесь описанны вход и выход, которые должен ожидать обработчик этой функции. Установленный флаг CF должен означать, что истёкло время ожидания | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
91h | завершить прерывание. Только AT-совместимые компьютеры По умолчанию, ничего не делает (зарезервированна для многозадачных ОС реального режима) Вход: AL = код типа устройства (см. подфункцию 90H) = 00h - 7Fh: последовательно используемые устройства = 80h - BFh: реентерабельные устройства (ES:BX => пакет данных) = C0h - FFh: не доступны через эту функцию Примечание: Здесь описанны вход и выход, которые должен ожидать обработчик этой функции. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C0h | Адрес таблицы конфигурации (SCT) Выход: ES:BX = адрес таблицы конфигурации, таблица находится в ПЗУ BIOS; CF = 0 и AH = 0 при успешном вызове прерывания; CF = 1 и AH=86h или AH=80h если данная версия BIOS не поддерживает функцию C0h. Примечание: формат таблицы:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C1h | Получить сегмент дополнительной области данных BIOS (EBDA) Выход: Если CF установлен: ошибка (AH=80h или AH=86h - данная функция не поддерживается) Если CF сброшен: ES - сегмент EBDA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C2h | BIOS - интерфейс указывающего устройства (мышь)
Примечания: Для проверки наличия этой функции пользуйтесь функцией C0h. |
AH | Функция | |||||||||||||||||||||||||||||||||||||||
88h | Размер "расширенной" памяти Выход: AX - количество килобайт, выше 1 мб. CF установлен, если произошла ошибка Примечание: Часто эта функция исскуственно ограничена границей в 16мб Многие БИОСы неправильно устанавливают флаг CF, в связи с чем обычно реккомендуется следующий способ проверить наличие этой функции: MOV AH, 0x88 INT 0x15 ; вызываем функцию JC SHORT .ERR ; флаг CF установлен - считаем, что произошла ошибка TEST AX, AX ; размер равный нулю скорее всего ошибочен JE SHORT .ERR CMP AH, 0x86 ; этот код соответсвует ошибке "неподдерживаемая функция" JE SHORT .ERR CMP AH, 0x80 ; этот код соответсвует ошибке "неправильная командая функция" JE SHORT .ERR ; обрабатываем результатбезусловно, при таком подходе мы теряем часть случаев, когда функция исправно работает, зато дойдя до моента обработки результата мы уверены, что функция отработала верно. | |||||||||||||||||||||||||||||||||||||||
8Ah | Размер памяти свыше 64Мб Выход: AX - младшая часть размера памяти DX - старшая часть размера памяти Флаг CF установлен, если функция не поддерживается Примечание: Эта функция возвращает количество блоков по 1Кб свыше 64Мб В некоторых источника эта функция описывается как аналог функции DA88h. Вероятно, разные производители БИОСов реализуют её по-разному, в связи с чем не рекомендуется её использовать. | |||||||||||||||||||||||||||||||||||||||
C7h | Карта памяти свыше 1Мб Вход: CS:DI - адрес, куда будет помещана карта памяти Флаг CF установлен при ошибке Примечание: Не все БИОСы поддерживают эту функцию Рекомендуется проверять наличие этой функции с помощью функции C0h Карта имеет следующий формат:
| |||||||||||||||||||||||||||||||||||||||
DAh | Размер памяти от 1мб до 16мб Вход: AL=88h Выход: AX=0 CL, BX - количество килобайт доступной памяти в промежутке от 1мб до 16мб (старшая часть в CL) Примечание: Если произошла ошибка - установлен флаг переноса (CF) В большинстве случаев эта функция вернёт размер примерно 14 мб, т.к. в промежутке от 1 мб до 16 мб есть облать, используемая БИОСом. | |||||||||||||||||||||||||||||||||||||||
E8h | Память
|
AL | Функция |
00h | Проверить наличие APM Вход: BX=0 Выход: Если установлен флаг переноса, то APM не поддерживается и AH - статус. Иначе: AH - старший номер версии (в коде BCD) AL - младший номер версии (в коде BCD) BX = 504Dh CX : бит 0 : 16-ти битный интерфейс поддерживается бит 1 : 32-х битный интерфейс поддерживается бит 2 : Вызов CPU IDLE снижает скорость процессора бит 3 : APM выключено (disabled) бит 3 : APM отключено (disengaged) Примечание: Некоторые старые версии Award BIOS не изменяют значение BX Установленный бит 2 регистра CX означает, что если был вызов CPU IDLE, а сейчас системе требуется полная производительность, то необходимо сделать вызов CPU BUSY. |
01h | Подключиться к интерфейсу реального режима Вход: BX=0 Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. Примечание: По умолчанию после установки соединения APM работает в режиме совместимости с версией 1.0. Что бы переключится на более новую версию используйте функцию 0Eh. |
04h | Отключиться от интерфейса Вход: BX=0 Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. |
05h | CPU IDLE Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. |
06h | CPU BUSY Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. Примечание: Эта функция гарантирует, что после её выполнения процессор будет работать на полной мощности. Её можно вызывать, даже если процессор уже работает на полной мощности |
07h | Задать состояние Вход: BX - ID устройства CX - состояние Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. Примечание: Не вызывайте эту функцию из обработчика аппаратного прерывания Определены следующие ID устройств (где XX - это номер устройства, XX = FF означает все устройства этого типа) : 0001h - все управляемые устройства 01XXh - видеокарты/дисплеи 02XXh - устройства хранения данных 03XXh - порты LPT 04XXh - порты COM 05XXh - сетевый адаптеры (APM версии 1.1 или выше) 06XXh - разъёмы PCMCIA (APM версии 1.1 или выше) 80XXh - аккамуляторы (поддерживается не везде) (счёт устройств начинается с единицы) (APM версии 1.2 или выше) EXXXh - определяется производителем системы на некоторых системах вместо ID 0001h используется ID 0000h. Это применимо не только к этой функции, но и ко всем функциям, использующим ID устройства. Определены следующие состояния: 0000h - готовность (не работает с ID устройства 0001h). Устройство работает на полной мощности 0001h - ожидание. Устрпойство находится в режиме пониженного энергопотребления 0002h - пауза. Устройство выключено, но его состояния сохранено. 0003h - выключено. 0004h - обработка запроса на выход из состояний паузы или ожидания (только для устройства с ID 0001h) (APM версии 1.1 или выше) 0005h - отмена запроса на выход из состояний паузы или ожидания (только для устройства с ID 0001h) (APM версии 1.1 или выше) (имеется ввиду, что этот вызов отменяет запрос) 0020h-007Fh - определяется производителем системы по стандарту версии 1.0 состояние 0003h не применимо к устройству с ID 0001h, но большинство систем обрабатывали такую ситуацию как выключение компьютера. Такое поведение было объявлено стандартным в версии 1.2, хотя упоминание о не пременимости состояния 0003h к устройству с ID 0001h было убрано с версии 1.1 |
08h | Включить/выключить (enable/disable) управление питанием Вход: BX = 0001h (APM версии 1.1 или больше) FFFFh (APM версии 1.0) CX = 0 - выключить, = 1 - включить Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. Примечание: APM не может быть одновременно выключено (disabled) и отключено (disengaged) Не вызывайте эту функцию из обработчика аппаратного прерывания |
09h | Востановить значения, используемые при включении компьютера Вход: BX = 0001h (APM версии 1.1 или больше) FFFFh (APM версии 1.0) Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. Примечание: В результате APM для устройств будет отключено (disengaged), однако для системы в целом будет включено (engaged) Не вызывайте эту функцию из обработчика аппаратного прерывания |
0Ah | Получить статус питания Вход: BX - ID устройства Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе: BH - статус разёма питания: 00h - питание отключено 01h - питание подключено 02h - подключено резервное питание FFh - неизвестно BL - статус заряда аккамулятора: 00h - высокий 01h - низкий 02h - критический 03h - заряжается FFh - неизвестно CH - флаги аккамулятора (APM версии 1.1 или выше): бит 0 : высокий уровень заряда бит 1 : низкий уровень заряда бит 2 : критический уровень заряда бит 3 : аккамулятор заряжается бит 4 : такого аккамулятора не существует биты 5,6 зарезервированны (сброшены) бит 7 : батарей нет CL - уровень заряда аккамулятора от 0 до 100, FFh = неизвестно DX - оставшееся время работы от аккамулятора (APM версии 1.1 или выше): бит 15 : если установлен, то в минутах; если сброшен, то в секундах биты 14-0 : оставшееся время в указанных единицах если на входе ID устройства соответствовал аккамулятору, то: SI - количество установленных в системе аккамуляторов (APM версии 1.2 или выше) Примечание: В качестве ID устройства может передаваться ID всей системы (0001h) или же ID аккамулятора В результате DX равный FFFFh означает "неизвестно" В результате CH равный FFFFh означает "неизвестно" Не вызывайте эту функцию из обработчика аппаратного прерывания |
0Bh | Получить событие питания Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе: BX - код события CX - информация о событии (APM версии 1.2 или выше) (для событий 0003h и 0004h): бит 0 : разъёмы PCMCIA были выключены в состоянии паузы остальные биты зарезервированны Примечание: Коды событий: 0001h - запрос на переход в режим ожидания 0002h - запрос на переход в режим паузы 0003h - нормальное возобновление системы 0004h - критическое возобновление системы 0005h - низкий уровень заряда батареи 0006h - изменилось состояние питания (APM версии 1.1 или выше) 0007h - изменилось время (APM версии 1.1 или выше) 0008h - критический переход в режим паузы (APM версии 1.1 или выше) 0009h - запрос на переход в режим ожидания от пользователя (APM версии 1.1 или выше) 000Ah - запрос на переход в режим паузы от пользователя (APM версии 1.1 или выше) 000Bh - выход из режима ожидания (APM версии 1.1 или выше) 000Ch - изменение возможностей (APM версии 1.2 или выше) 01XXh - события оборудования 02XXh - события, определяемые производителем Не вызывайте эту функцию из обработчика аппаратного прерывания |
0Сh | Получить состояние питания (APM версии 1.1 или выше) Вход: BX - ID устройства Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе: CX - состояние: 0000h - готовность (не работает с ID устройства 0001h). Устройство работает на полной мощности 0001h - ожидание. Устрпойство находится в режиме пониженного энергопотребления 0002h - пауза. Устройство выключено, но его состояния сохранено. 0003h - выключено. 0020h-007Fh - определяется производителем системы |
0Dh | Включить/выключить автоматическое управление электропитанием устройства (APM версии 1.1 или выше) Вход: BX - ID устройства CX = 0 - выключить, = 1 включить Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. |
0Eh | Задать версию APM (APM версии 1.1 или выше) Вход: BX = 0 CH - старший номер версии APM, поддерживаемой драйвером (в коде BCD) CL - младший номер версии APM, поддерживаемой драйвером (в коде BCD) Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе: CH - старший номер версии APM, используемый для текущего соединения (в коде BCD) CL - младший номер версии APM, используемый для текущего соединения (в коде BCD) Примечание: Эту функцию необходимо вызывать после установки соединения функцией 01 для того, что бы использовать возможности новых версий APM. (По умолчанию APM эмулирует поведение версии 1.0) |
0Fh | Включить/отключить (engage/disengage) управление питанием (APM версии 1.1 или выше) Вход: BX - ID устройства CX = 0 - выключить, = 1 включить Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. Примечание: Когда управление электропитанием отключено (disengaged), то APM автоматически управляет электропитанием устройств. Когда оно включено, то в управлении электропитанием участвует драйвер. |
10h | Узнать возможности (APM версии 1.2 или выше) Вход: BX = 0 Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе: BL - количество установленных в системе аккамуляторов CX - флаги возможностей: бит 0 : может войти в глобальный режим ожидания бит 1 : может войти в глобальный режим паузы бит 2 : таймер пробуждения выведет систему из состояния ожидания бит 3 : таймер пробуждения выведет систему из состояния паузы бит 4 : сигнал на линии ring com-порта или модема выведет систему из состояния ожидания бит 5 : сигнал на линии ring com-порта или модема выведет систему из состояния паузы бит 6 : сигнал на линии ring PCMCIA выведет систему из состояния ожидания бит 7 : сигнал на линии ring PCMCIA выведет систему из состояния паузы биты 8-15 : зарезервированно Примечание: Эта функция не требует наличия установленного соединения |
11h | Таймер пробуждения (APM версии 1.2 или выше) Вход: BX = 0 CL : 00 - Выключить таймер 01 - Узнать настройку таймера 02 - Задать настройку таймера Если CL = 02: CH - секунда (в коде BCD) DH - час (в коде BCD) DL - минута (в коде BCD) SI - в старшем байте месяц (в коде BCD), в младшем байте день (в коде BCD) DI - год (в коде BCD) Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе, если на входе CL = 01: CH - секунда (в коде BCD) DH - час (в коде BCD) DL - минута (в коде BCD) SI - в старшем байте месяц (в коде BCD), в младшем байте день (в коде BCD) DI - год (в коде BCD) Примечание: Значение таймера задаётся в абсолютном времени, а не относительном |
12h | Включить/выключить пробуждение системы по сигналу на линии ring (APM версии 1.2 или выше) Вход: BX = 0 CL : 00 - Выключить пробуждение по сигналу на линии ring 01 - Включить пробуждение по сигналу на линии ring 02 - Узнать статус пробуждения по сигналу на линии ring Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе: CX - статус пробуждения по сигналу на линии ring: 00 - Выключено 01 - Включено Примечание: Эта функция задаёт реакцию на все линии ring, способные пробудить систему |
13h | Включить/выключить запросы по таймеру (APM версии 1.2 или выше) Вход: BX = 0 CL : 00 - Выключить запросы по таймеру 01 - Включить запросы по таймеру 02 - Узнать статус запросов по таймеру Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе: CX - статус запросов по таймеру: 00 - Выключено 01 - Включено Примечание: По умолчанию APM может предложить перейти врежим ожидания или паузы, основываясь на времени бездействия системы. Данная функция позволяет управлять этим поведением |
80h | Определить наличия расширения от изготовителя системы Вход: BH = 7fh Выход: Если установлен флаг переноса, то произошла ошибка и AH - статус. иначе: BX - ID изготовителя Примечание: Нередко также изменяются значения регистров AX и CX Вызов функций расширения осуществляется через эту же функцию, а номер необходимой функции передаётся в BH |
Код | Значение |
01 | Управление электропитанием выключено (disabled) |
02 | Соединение уже установлено |
03 | Соединение не установлено |
04 | Соединение с интерфейсом реального режима не установлено |
05 | Соединение с интерфейсом 16-ти битного (i286) защищённого режима уже установлено |
06 | Интерфейс 16-ти битного (i286) защищённого режима не поддерживается |
07 | Соединение с интерфейсом 32-х битного защищённого режима уже установлено |
08 | Интерфейс 32-х битного защищённого режима не поддерживается |
09 | Неизвестный ID устройства |
0Ah | Неверное значение в CX |
0Bh | (APM версии 1.1 или выше) Интерфейс не включён (engaged) |
0Ch | (APM версии 1.2 или выше) Функция не поддерживается |
0Dh | (APM версии 1.2 или выше) Таймер пробуждения выключен |
60h | Не могу перейти в запрошенный режим |
80h | Нет событий управления электропитанием для обработки |
86h | APM отсутствует |
AH | Функция |
04h | Создать таблицу системных параметров ABIOS Выход: CF установлен - ошибка, иначе - успешно. |
05h | Создать таблицу инициализации ABIOS Выход: CF установлен - ошибка, иначе - успешно. |
22h | Получить расположение ROM BASIC Выход: CF установлен - ошибка (если AH=86h, то функция не поддерживается) Если AX=0000, то ES:BX - расположение ROM BASIC в памяти. |
52h | Извлечь носитель информации Вход: DL - номер диска(80h ... 0FFh) Выход: AH - состояние дисковой подсистемы Если флаг переноса установлен - произошла ошибка Примечание: Эта функция относится к стандарту EDD. Подробнее про этот стандарт вы можете узнать на странице прерывания 13h Эта функция используется функцией 46h прерывания 13h |