8

我一直在开发一个玩具操作系统,并且一直在使用 grub 作为我的引导加载程序。最近在尝试使用 VGA 时,我发现我无法使用硬件中断。我发现这是因为我被 grub 置于保护模式。

有谁知道如何在不必摆脱 grub 的情况下回到实模式?

4

2 回答 2

1

如果您使用 GRUB 作为引导加载程序,您可以使用intcall(在COMBOOT API中指定)在您的情况下调用 BIOS 函数 int 0x10 来访问VESA VBE

但是,如果您需要访问 VGA 硬件寄存器,这将无济于事。

于 2008-09-25T16:43:03.410 回答
1

你的意思是写端口(价值,$ 3c9)?

>mov 03c9,AH
>out value,AL

或类似的 INTEL asm(NASM)

3c9 3c8 IIRC 是 VGA 寄存器。

于 2013-01-20T19:25:01.437 回答