我一直在开发一个玩具操作系统,并且一直在使用 grub 作为我的引导加载程序。最近在尝试使用 VGA 时,我发现我无法使用硬件中断。我发现这是因为我被 grub 置于保护模式。
有谁知道如何在不必摆脱 grub 的情况下回到实模式?
如果您使用 GRUB 作为引导加载程序,您可以使用intcall
(在COMBOOT API中指定)在您的情况下调用 BIOS 函数 int 0x10 来访问VESA VBE。
但是,如果您需要访问 VGA 硬件寄存器,这将无济于事。
你的意思是写端口(价值,$ 3c9)?
>mov 03c9,AH
>out value,AL
或类似的 INTEL asm(NASM)
3c9 3c8 IIRC 是 VGA 寄存器。