CSDN=>FAQ=>FAQ 展示
  • 问题内容:在实模式下能访问多大的内存?
  • 原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=4446366
  • 所属论坛:汇编语言     审核组:其他开发语言
  • 提问者:MoFanYingXiong     解决者:cys1
  • 感谢:rockefeller8、Civet148
  • 关键字:其他开发语言 汇编语言
  • 答案:

    世人盛传,在实模式下只能访问1M的内存空间,我想来想去,怎么也想不明白。
    在实模式下能够访问的最大内存地址是FFFF:FFFF,其对应的物理地址是:
      FFFF * 16 + FFFF + 1
     =FFFF0 + FFFF + 1
     =FFFF0 + 10000
     =10FFF0
     =1087K 零 1008个字节
     =1M 零 63K 零 1008个字节
    也就是说,在实模式下,能访问1M多的内存空间,为什么说只能访问1M的空间呢?是不是还有其它的限制?

    另外一个问题是:
    我听说0000:0000是中断向量表的地址,B800:0000是显存的地址,FFFF:0000是BIOS启动的地址。
    请问在实模式中,还有哪些像这样的特殊地址?

    ---------------------------------------------------------------

    你的计算没有问题,
    但8086的地址线是20根,所以其有1024*1024个值,用FFFF:FFFF的表示形式超出了其取值范围,

    关于地址的问题知道的和你一样多,期待高手
    ---------------------------------------------------------------

    VGA,B800:0000是显存的地址;如果是单显,地址是B000:0000
    ---------------------------------------------------------------

    当实模式下访问到大于1M的内存地址后
    会回滚到以0开始的偏移地址~~!

  • 评价: 有价值 给朵鲜花(4) 无价值 扔个鸡蛋(8)
相关FAQ
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo