Можно ли как-нибудь использовать прерывания и функции BIOS в защищенном 32-х разрядном режиме ? Желательно без режима виртуального 8086-го Хотя разрядность не проблема, это можно решить вызовом через шлюз. Но что, если функциям понадобится сделать дальний jmp или перезагрузить сегментный регистр ? Обработка идет уже совсем иначе, с использованием селекторов (хотя это только предположения, я точно не знаю, изменяют ли функции BIOS сегментные регистры или нет).
Некоторые функции BIOS можно без проблем вызывать из 16-bit ProtMode, некоторые требуют трансляции параметров-указателей. Также есть полноценная поддержка 32-bit програм (например у APM, VESA, etc.)
Поподробнее... Можно почитать с DDK98 раздел V86-Mode Memory Manager. Там API translation, API mapping. Если есть интерес, можно распаковать vmm32.vxd, взять оттуда xlat.vxd (не помню точно название) и расковырять. Насчет стандартной поддержки 32битных программ BIOS'ом -- см. IntList