【问题标题】:Grub and getting into Real Mode (low-level assembly language programming)Grub 并进入实模式(低级汇编语言编程)
【发布时间】:2010-09-11 00:12:12
【问题描述】:

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

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

【问题讨论】:

标签: assembly x86 grub real-mode


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你的意思是 writeport(value,$3c9)?

    >mov 03c9,AH
    >out value,AL
    

    或类似 INTEL asm(NASM)

    3c9 3c8 IIRC 是 VGA 寄存器。

    【讨论】:

      猜你喜欢
      • 2014-10-07
      • 2015-01-23
      • 2010-09-20
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 2019-12-12
      • 2023-03-06
      相关资源
      最近更新 更多