Я работал над игрушечной ОС и использовал grub в качестве загрузчика. Недавно при попытке использовать VGA я обнаружил, что не могу использовать аппаратные прерывания. Это я обнаружил потому, что grub перевел меня в защищенный режим.
Кто-нибудь знает, как вернуться в реальный режим, не избавляясь от grub?
Вы имеете в виду writeport (значение, $ 3c9)?
>mov 03c9,AH >out value,AL
или аналогичный в INTEL ASM (NASM)
3c9 3C8 IIRC - это регистры VGA.
Если вы используете GRUB в качестве загрузчика, вы можете использовать intcall (как указано в COMBOOT API ) для вызова функции BIOS int 0x10 в вашем случае для доступа к VESA VBE .
intcall
Но это не поможет, если вам нужен доступ к аппаратным регистрам VGA.