Demonikss писал(а):
Не понимаю про какое ядро идет в данном случае речь. Если про то что функции биос, так я ясно выразился что не хочу их использовать. Если про ядро любой операционной системы, то это уже зависит от реализации самого драйвера. Я говорю про низкоуровневое программирование на языке ассемблера любого кода в защищенном режиме.
Я говорил о ядре ОС защищенного режима. Вы можете унаследовать состояние индикаторов от BIOS. Например, в настройках BIOS может быть указание, включать при старте НамЛок или нет. Вы можете эту настройку унаследовать в вашем коде защищенного режима.
Естественно, в защищенном режиме при обработке NMI используется дескриптор, размещенный в IDT.
Что касается размера BDA, то я всегда использовал память, начиная с адреса 500h, под свои нужды. Проблем никогда не было. Область данных BIOS в конце базовой памяти обычно называют EBDA. Ее стартовый адрес, т.е. размер доступной базовой памяти нужно определять обязательно.