免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2233 | 回复: 2
打印 上一主题 下一主题

问下关于BOOT的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-14 21:21 |只看该作者 |倒序浏览
本帖最后由 firebull1 于 2011-07-14 22:50 编辑

电脑复位时,CPU会把代码寄存器CS的值设为0XF000,其段基地址设置成0XFFFF0000,IP设置成0XFFF0,因此CPU指针指向0XFFFFFFF0出


A:上面这句话有点看不懂,CS在实模式下不就是代码段的基值吗,这个段基值跟CS有什么联系吗?看后面那个指向的地址跟CS没什么关系啊,那每次电脑复位的时候,干嘛把CS的值设置掉

Q:
BIOS加载在内存的物理地址为FFFF0,按照16位机地址计算方法 只要能组合出物理地址FFFF0就能寻址找到BIOS,这时CS:IP可以多种组合,每次reset都要从bios开始,所以要设置CS IP

至于为什么CPU指向的是0XFFFFFFF0,这个是32位地址,因为地址线是20,所以 只需要看低20位 满足要求就是可以了
这个段基值设置问题。。楼下的补充吧
我略过他了

论坛徽章:
0
2 [报告]
发表于 2011-07-14 22:13 |只看该作者
回复 1# firebull1


    第一个问题:这是汇编语言最初讲实模式的时候讲的:CPU寻址的时候是通过:CS+IP去寻址的,
  第二个问题:实模式下CS和非实模式下的CS设置是不一样的,不知道说的对不对啊

论坛徽章:
0
3 [报告]
发表于 2011-07-14 22:31 |只看该作者
回复 2# chenrvmldd


    呵呵,谢谢楼上的
加了几个群,算是解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP