【问题标题】:Access BIOS-ROM in Assembly language (NASM)以汇编语言 (NASM) 访问 BIOS-ROM
【发布时间】:2017-01-08 09:12:44
【问题描述】:

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

【问题讨论】:

  • 为什么要在操作系统中执行此操作?您能否为您的问题提供更多背景信息?
  • 这将对您有所帮助。感觉每天都发这个。 Ralph Brown's Interrupt List :)。

标签: assembly nasm bios


【解决方案1】:

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

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

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

【讨论】:

  • 我真的不喜欢看到像 x86 memory map 这样的表达式(我知道,这不是你的发明,所以不是你的错)。这混合了系统和 CPU 架构术语。 x86 CPU 没有任何要求 ROM 价格为 $F0000 - 这是原始 IBM PC 系统架构 强加的约定。
  • 我同意,这个布局反映了 IBM PC 架构的内存布局,而不是 x86 CPU 架构的一些细节。会解决的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-25
  • 1970-01-01
  • 2014-12-26
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
相关资源
最近更新 更多