【问题标题】:BIOS for baremetal programs on x86x86 上裸机程序的 BIOS
【发布时间】:2012-11-08 05:35:00
【问题描述】:

使用 BIOS 中断INT10 是个好主意吗?或者我应该考虑coreboot、UFEI还是openFirmware?这些兼容吗?我应该用什么来显示到屏幕上?

【问题讨论】:

    标签: x86 bios bare-metal


    【解决方案1】:

    你在这里混淆了一些完全不相关的东西。

    • Coreboot 是 PC BIOS 的替代方案,它并非适用于所有主板,必须由用户专门安装。它必须始终运行一个有效负载,它可能类似于 Linux 内核,或诸如 SeaBIOS 之类的开源 PC BIOS(在这一点上,它与任何其他 PC BIOS 基本上没有区别)。 p>

    • UEFI 是 PC BIOS 的替代品,它更高级,但编码难度更大。它几乎总是包含标准 PC BIOS 的兼容性例程。

    • Open Firmware 大致相当于一些其他平台上使用的 PC BIOS,包括 PowerPC Mac 和一些 Sun 系统。据我所知,它从未在 x86 系统上使用过,因此您几乎肯定不会对它感兴趣。

    如果您正在为裸机 x86 系统编程,那么中断 10h 可能是要走的路。下一个要考虑的替代方法是直接访问 VGA 硬件。

    【讨论】:

    • 谢谢。但我仍然不清楚我混淆了什么。看起来所有这些都是原始 PC BIOS 的替代品。我可以假设使用int 10 不会破坏各种bios吗?我还想知道这些 BIOS 在什么时候开始出现差异或超过 PC BIOS。
    • 中断 10h 将适用于所有 PC BIOS 系统——也就是说,您可能遇到的所有问题。
    猜你喜欢
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 2012-03-15
    • 2016-03-15
    • 2011-10-15
    相关资源
    最近更新 更多