以汇编语言访问 BIOS-ROM (NASM)

Access BIOS-ROM in Assembly language (NASM)

我正在为教育目的开发一个实验性的 OS 汇编语言。是否可以从BIOS只读存储器中读取并以任何方式存储它,是否有任何中断?它受保护了吗?

是的,可以读取 ROM BIOS 内容 - 当您的代码不在某些保护模式 OS 下,例如 Linux 或 Windows - 例如,当您处于引导模式时。当时ROM BIOS的内容在内存中0x000F0000地址——看看IBM PC系统架构memory map。所以你可以直接从内存中复制你需要的一切。

下一个问题是——如何保存数据。您可以使用 BIOSint 13h low-level disk access functions 将数据保存到磁盘。但是,这不是很方便,因为这些功能非常低级并且工作在磁盘数据访问级别,而不是文件访问级别。因此,为了将数据写入文件,您应该编写自己的文件工作例程。

如果您需要 ROM BIOS 内容只是为了学习,您可以使用 BIOS 转储实用程序 - 有很多。