ichabod
驱动牛犊
驱动牛犊
  • 注册日期2004-12-08
  • 最后登录2007-08-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1363回复:3

不知这个问题放在这里是否合适--有关BIOS

楼主#
更多 发布于:2004-12-12 10:08
机器加电后bios会加载到4GB内存地址的顶端,那么我就可以利用传说中的Flat-RealMode来访问它。但是,小弟想知道,加载到顶端的内容是多大?我在DOS下用Flat-RealMode访问过,但是只能访问0xFFFF0000--0xFFFFFFFF的内容(与bios的二进制码比较过,无误),而0xFFFE0000--0xFFFEFFFF之间的内容读出的都是FF,可是我的bios明明是128kB的啊,而且bios的低64kB不是FF。
所以,有那位大侠知道原因或是有有关这方面的资料源码什么的还请不吝赐教,多谢多谢!给分好说
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-12 18:03
机器加电后bios会加载到4GB内存地址的顶端,那么我就可以利用传说中的Flat-RealMode来访问它。但是,小弟想知道,加载到顶端的内容是多大?我在DOS下用Flat-RealMode访问过,但是只能访问0xFFFF0000--0xFFFFFFFF的内容(与bios的二进制码比较过,无误),而0xFFFE0000--0xFFFEFFFF之间的内容读出的都是FF,可是我的bios明明是128kB的啊,而且bios的低64kB不是FF。
所以,有那位大侠知道原因或是有有关这方面的资料源码什么的还请不吝赐教,多谢多谢!给分好说

注意一下dos下的64k地址问题(16位)
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
ichabod
驱动牛犊
驱动牛犊
  • 注册日期2004-12-08
  • 最后登录2007-08-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-13 22:08
请解释一下什么是64k地址问题?我在FlatRealMode下将段限设置成了4GB还会有什么64K段限的问题吗?我现在的问题是,访问4GB内存的高64K字节没问题,但高128KB至高64KB之间的区域访问无法得到所需的值(全FF)。我的BIOS是128KB的,BIOS的地址译码是在4GB的最高端,但为何只有高64K可以访问?
DOS6.22withBC3.1环境下调试
tiamo
VIP专家组
VIP专家组
  • 注册日期2002-02-26
  • 最后登录2018-01-09
  • 粉丝17
  • 关注4
  • 积分50分
  • 威望142点
  • 贡献值1点
  • 好评度40点
  • 原创分2分
  • 专家分15分
  • 原创先锋奖
  • 社区居民
地板#
发布于:2004-12-14 10:01
在cpu跟内存之间...按照现在的架构...是有一个北桥芯片的...连接bios的一般还有南桥....

地址解码先要经过他们....他们会在地址解码方面作手脚..使得你的内存访问并不一定就是访问到bios本身...

解决方法...
1.设置南北桥芯片解码逻辑....基本上各个bios都有不同的做法.
2.有取巧的方法...看我在你的另外的那个帖子里面的回复...
游客

返回顶部