Для поддержки технологии PnP и расширения возможностей управления начальной загрузкой в спецификации PnP BIOS ввели дополнительный указатель на
Таблица 12.9. Расширенный заголовок ROM BIOS карт ISA PnP
| Смещение | Длина | Назначение |
|---|---|---|
| 0h | 4 байта | Сигнатура, строка $PnP (символы ASCII) |
| 04h | байт | Версия структуры (01h) |
| 05h | байт | Длина (в параграфах по 16 байт) |
| 06h | слово | Смещение следующего заголовка (0000h, если нет больше) |
| 08h | байт | Резерв(0) |
| 09h | байт | Контрольная сумма |
| 0Ah | двойное слово | Идентификатор устройства PnP |
| 0Eh | слово | Указатель на строку идентификатора производителя (0, если нет) |
| 10h | слово | Указатель на строку названия продукта (0, если нет) |
| 12h | 3 байт | Код типа устройства |
| 15h | байт | Индикаторы устройства |
| 16h | слово | Вектор подключения BCV (Boot Connection Vector) — 0, если нет |
| 18h | слово | Вектор отключения (Disconnect Vector) — 0, если нет |
| 1Ah | слово | Точка входа для загрузки BEV (Bootstrap Entry Point) — 0, если нет |
| 1Ch | слово | Резерв (0) |
| 1Eh | слово | Вектор получения информации о статических ресурсах (Static Resource Information Vector) — Real/Protected mode (0 если нет) |
Расширенный заголовок позволяет определить
♦ бит 7 — ПЗУ поддерживает модель инициализации устройства (Device Driver Initialization Model);
♦ бит 6 — ПЗУ может затеняться оперативной памятью;
♦ бит 5 — ПЗУ может кэшироваться по чтению;
♦ бит 4 — ПЗУ требуется лишь для загрузки с данного устройства;
♦ бит 3 — резерв (0);
♦ бит 2 — является устройством загрузки (IPL-устройство);
♦ бит 1 — устройство ввода (может заменять клавиатуру);
♦ бит 0 — устройство вывода (дисплей).
BCV (Boot Connection Vector, он же Interrupt Connection Vector) указывает смещение для процедуры, дальний вызов которой приведет к перехвату векторов прерываний первичных устройств ввода, вывода или загрузки (сервисов Int 9h, Int 10h или Int 13h соответственно), в зависимости от параметров, переданных в регистрах процессора. При вызове этой процедуры в регистре АХ единицы в битах 0, 1 и 2 запрашивают перехват сервисов Int 9h, Int 10h или Int 13h соответственно (остальные биты нулевые), ES:DI указывает на контрольную структуру PnP BIOS (System BIOS PnP Installation Check Structure), BX содержит селективный номер (CSN) карты ISA PnP (для других карт FFFFh); DX содержит адрес порта чтения ISA PnP (для других карт FFFFh).
BEV требуется, если устройство может использоваться в качестве загрузочного, но не обеспечивает блочных функций сервиса Int 13h. Тогда системная микросхема BIOS может дальним вызовом вызвать эту процедуру вместо выполнения сервиса Int 19h. Таким образом, например, может выполняться удаленная загрузка (Remote Programm Loading, RPL) по сети.
ES: DI при вызове данной процедуры.