【发布时间】:2017-01-08 09:12:44
【问题描述】:
我正在开发一个用于教育目的的汇编语言实验性操作系统。是否可以从 BIOS 只读存储器中读取并以任何方式存储它,是否有任何中断?是否受到保护?
【问题讨论】:
-
为什么要在操作系统中执行此操作?您能否为您的问题提供更多背景信息?
-
这将对您有所帮助。感觉每天都发这个。 Ralph Brown's Interrupt List :)。
我正在开发一个用于教育目的的汇编语言实验性操作系统。是否可以从 BIOS 只读存储器中读取并以任何方式存储它,是否有任何中断?是否受到保护?
【问题讨论】:
是的,可以读取 ROM BIOS 内容 - 当您的代码不在 Linux 或 Windows 等受保护模式操作系统下时 - 例如,当您处于引导模式时。当时 ROM BIOS 内容在内存中的 0x000F0000 地址 - 看看 IBM PC 系统架构memory map。因此,您可以直接从内存中复制您需要的所有内容。
下一个问题是——如何保存数据。您可以使用 BIOS int 13h low-level disk access functions 将数据保存到磁盘。但是,它不是很方便,因为这些功能非常低级,并且工作在磁盘数据访问级别,而不是文件访问级别。因此,为了将数据写入文件,您应该编写自己的文件工作例程。
如果您只需要学习 ROM BIOS 内容,您可以使用 BIOS 转储实用程序 - 有很多。
【讨论】: