AH | Функция |
0 | Читать кванты времени Выход: CX,DX - кол-во квантов времени со времени последней полуночи (CX-старшая часть значения) AL != 0 - было переполнение таймера Примечание: На большинстве систем в секунду умещается 18,2 кванта. AL устанавливается в 1, если с момента включения уже была полночь, иначе в ноль. |
1 | Установить кванты времени Выход: CX,DX - кол-во квантов времени (CX-старшая часть значения) Примечание: На большинстве систем в секунду умещается 18,2 кванта. Флаг переполнения таймера сбрасывается |
2 | Читать часы (RTC) Выход: CH - Часы в коде BCD CL - Минуты в коде BCD DH - Секунды в коде BCD DL - если 1, то используется перевод времени между летним/зимним, если 0 - то нет. флаг CF установлен, если часы отключены. Примечание: Только AT-совместимые компьютеры Некоторые БИОСы не сбрасывают флаг CF при удачном выполнении функции, по-этому рекомендуется самостоятельно его збрасывать перед вызовом этой функции. |
3 | Установить часы (RTC) Вход: CH - Часы в коде BCD CL - Минуты в коде BCD DH - Секунды в коде BCD DL - если 1, то используется перевод времени между летним/зимним, если 0 - то нет. Выход: AL - значение, записанное в CMOS-регист 0Bh Примечание: Только AT-совместимые компьютеры AH может быть сброшен в ноль. |
4 | Читать дату (RTC) Выход: CH - Столетие в коде BCD CL - Год в коде BCD DH - Месяц в коде BCD DL - День в коде BCD флаг CF установлен, если часы отключены. Примечание: Только AT-совместимые компьютеры Некоторые БИОСы не сбрасывают флаг CF при удачном выполнении функции, по-этому рекомендуется самостоятельно его збрасывать перед вызовом этой функции. |
5 | Установить дату (RTC) Вход: CH - Столетие в коде BCD CL - Год в коде BCD DH - Месяц в коде BCD DL - День в коде BCD Выход: AL - значение, записанное в CMOS-регист 0Bh Примечание: Только AT-совместимые компьютеры AH может быть сброшен в ноль. |
6 | Установить сигнал Вход: CH - Часы в коде BCD CL - Минуты в коде BCD DH - Секунды в коде BCD флаг CF установлен, если часы отключены или таймер уже установлен. Примечание: Только AT-совместимые компьютеры В указаное время генерирует прерывание int 4Ah |
7 | Сбросить сигнал Только AT-совместимые компьютеры Отменяет действие функции 6 |
AL | Функция | ||||||||||||||||||||||||||||||||||||||||||||||||
01 | Проверить наличие PCI BIOS Вход: EDI = 0 Выход: AH = 0 и флаг переноса сброшен, если PCI BIOS присутствует AH - код возврата. EDX = 20494350h AL - Флаги PCI: бит 0 : метод доступа к конфигурации №1 поддерживается бит 1 : метод доступа к конфигурации №2 поддерживается биты 2-3 : резерв бит 4 : механизм генерации специальных циклов №1 поддерживается бит 5 : механизм генерации специальных циклов №2 поддерживается биты 6-7 : резерв BH - старший номер версии интерфейса (в формате BCD) BL - младший номер версии интерфейса (в формате BCD) CL - номер последней шины PCI EDI - точка входа 32-х битного интерфейса Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены Если биос не поддерживает 32-х битную точку входа, то регистр EDI не изменяется. | ||||||||||||||||||||||||||||||||||||||||||||||||
02 | Найти устройство по его ID Вход: CX - ID устройства DX - ID изготовителя SI - номер устройства Выход: AH - код возврата. BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены SI введён для случая, когда в системе есть несколько одинаковых устойств. Нумерация начинается с нуля. Что бы найти все такие устройства, надо повторять вызовы этой функции, увеличивая SI, пока в AH не будет возвращён код 86h | ||||||||||||||||||||||||||||||||||||||||||||||||
03 | Найти устройство по его классу Вход: ECX - класс устройства: биты 0 - 7 : интерфейс биты 15- 8 : подкласс биты 23-16 : класс биты 31-24 : сброшенны SI - номер устройства Выход: AH - код возврата. BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены SI введён для случая, когда в системе есть несколько одинаковых устойств. Нумерация начинается с нуля. Что бы найти все такие устройства, надо повторять вызовы этой функции, увеличивая SI, пока в AH не будет возвращён код 86h | ||||||||||||||||||||||||||||||||||||||||||||||||
06 | Сгенерировать специальный цикл шины Вход: BH - номер шины EDX - данные Выход: AH - код возврата. Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены | ||||||||||||||||||||||||||||||||||||||||||||||||
08 | Прочитать байт конфигурации Вход: BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции DI - смещение Выход: AH - код возврата. CL - считанный байт Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены Award BIOS 4.51PG (датирован 05/24/96) при номере функции, отличном от нуля всегда возвращает нулевой байт конфигурации равным FFh. | ||||||||||||||||||||||||||||||||||||||||||||||||
09 | Прочитать слово конфигурации Вход: BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции DI - смещение Выход: AH - код возврата. CX - считанное слово Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены DI должно быть чётным Award BIOS 4.51PG (датирован 05/24/96) при номере функции, отличном от нуля всегда возвращает нулевое слово конфигурации равным FFFFh. | ||||||||||||||||||||||||||||||||||||||||||||||||
0Ah | Прочитать двойное слово конфигурации Вход: BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции DI - смещение Выход: AH - код возврата. ECX - считанное двойное слово Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены DI должно быть кратно 4-м Award BIOS 4.51PG (датирован 05/24/96) при номере функции, отличном от нуля всегда возвращает нулевое слово конфигурации равным FFFFFFFFh. | ||||||||||||||||||||||||||||||||||||||||||||||||
0Bh | Записать байт конфигурации Вход: BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции DI - смещение CL - записываемый байт Выход: AH - код возврата. Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены | ||||||||||||||||||||||||||||||||||||||||||||||||
0Ch | Записать слово конфигурации Вход: BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции DI - смещение CX - записываемое слово Выход: AH - код возврата. Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены DI должно быть чётным | ||||||||||||||||||||||||||||||||||||||||||||||||
0Dh | Записать двойное слово конфигурации Вход: BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции DI - смещение ECX - считанное двойное слово Выход: AH - код возврата. Примечание: Регистры EAX, EBX, ECX и EDX могут быть изменены DI должно быть кратно 4-м | ||||||||||||||||||||||||||||||||||||||||||||||||
0Eh | Получить информацию о перенаправлении прерываний PCI Вход: BX = 0 DS = Сегмент данных PCI BIOS (стандартное значение - F000h) ES:EDI - Заголовок таблицы перенаправления прерываний Выход: AH - код возврата. Если AH = 59h или 89h, то таблица слишком маленькая, а в слове по адресу ES:DI записан необходимый размер BX - битовая маска, описывающая, какие IRQ используются исключительно шинами PCI (бит 0 - IRQ 0, ... , бит 15 - IRQ 15) ES:DI - размер заполненных данных Таблица перенаправления прерываний заполнена Примечание: PCI BIOS версии 2.1 или выше Заголовок таблицы перенаправления прерываний выглядит следующим образом:
| ||||||||||||||||||||||||||||||||||||||||||||||||
0Fh | Установить IRQ Вход: BH - номер шины BL - биты 7-3 : номер устройства, биты 2-0: номер функции CL - изменяемый сигнал ( 0Ah - сигнал INTA#, ... , 0Dh - сигнал INTD#) CH - новый номер IRQ DS = Сегмент данных PCI BIOS (стандартное значение - F000h) Выход: AH - код возврата. Примечание: PCI BIOS версии 2.1 или выше Эта функция исходит из того, что вызвавшая её программа проверила отсутствие конфликтов через таблицу перенаправления прерываний, и изменяет номер прерывания для всех устройств, использующих ту же линию, которую использует это устройство для указанного сигнала |
Код | Значение |
00 | Успешно |
81h | Неизвестная функция |
83h | Неправильный Vendor ID |
86h | Устройство не найдено |
87h | Неправильный номер регистра PCI |
88h | Неудалось задать новое значение |
89h | Буфер слишком маленький |