x86 上裸机程序的 BIOS

Lor*_*oh. 2 x86 bios bare-metal

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

小智 5

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

  • Coreboot 是 PC BIOS 的替代品,并非适用于所有主板,必须由用户专门安装。它必须始终运行一个有效负载,它可能类似于 Linux 内核,或者像 SeaBIOS 这样的开源 PC BIOS(此时,它在很大程度上与任何其他 PC BIOS 没有区别)。

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

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

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