我正在开发一种用于教育目的的汇编语言实验操作系统。是否可以从BIOS只读存储器读取并以任何方式存储它,是否有任何中断?它受到保护吗?
答案 0 :(得分:7)
是的,当您的代码不在某些受保护模式的操作系统(如Linux或Windows)下时(例如,当您处于启动模式时),可以读取ROM BIOS内容。那时ROM BIOS内容在0x000F0000地址的内存中 - 看看IBM PC系统架构memory map。因此,您可以直接从内存中复制所需的一切。
接下来的问题是 - 如何保存数据。您可以使用BIOS int 13h
low-level disk access functions将数据保存到磁盘。但是,它不是很方便,因为这些功能非常低级并且在磁盘数据访问级别工作,而不是在文件访问级别。因此,为了将数据写入文件,您应该编写自己的文件工作例程。
如果您只需要ROM BIOS内容用于学习,您可以使用BIOS转储实用程序 - 其中有很多。