whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1257回复:1

如何访问BIOS呢?

楼主#
更多 发布于:2005-01-18 08:21
现在在做扩展BIOS开发,就是要增加一些新的东西到系统的BIOS。
我把A20地址线激活,然后修改GDTR寄存器,让fs段可以访问4G的内存。
有资料上说BIOS是被映射到0xFFFC000~0xFFFFFFFF这个地址空间,可是直接读这个地址,发现读出来的数据是错误,显然后,
BIOS不是映射到0xFFFC0000~0xFFFFFFFF这个地址空间呢。
那么如何获取BIOS是被映射到什么空间呢?

最新喜欢:

aasa2aasa2
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-18 17:27
现在在做扩展BIOS开发,就是要增加一些新的东西到系统的BIOS。
我把A20地址线激活,然后修改GDTR寄存器,让fs段可以访问4G的内存。
有资料上说BIOS是被映射到0xFFFC000~0xFFFFFFFF这个地址空间,可是直接读这个地址,发现读出来的数据是错误,显然后,
BIOS不是映射到0xFFFC0000~0xFFFFFFFF这个地址空间呢。
那么如何获取BIOS是被映射到什么空间呢?

BIOS的物理地址是在0x0000e000-0x0000ffff,你可以用SOFTICE看全局描述符表,好像有一个BIOS数据区的映射,那是BIOS程序在启动时读入的,大概在40h段(用DOS下的段计算方法),同时还有两个映射到物理地址0x0000e000-0x0000ffff的描述符
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
游客

返回顶部