LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: lyy9505

保护模式下,EIP寄存器存放的是线性地址还是物理地址(分页已开启)

[复制链接]
发表于 2005-5-8 10:45:09 | 显示全部楼层
开启分页的时候,EIP中的值肯定是虚拟地址,要经过MMU转换才可以,在开启了分页后,只有CR3中的
页目录地址用的是物理地址,其他所有的地址都是虚拟地址。
回复 支持 反对

使用道具 举报

发表于 2005-5-9 08:32:30 | 显示全部楼层
所谓谦让段机制失效,其实就是让段描述符(cs,ds等)的值为零,这样EIP的值就是线性地址的值,在逻辑上段映射无效!(也就是多余的做一遍)
回复 支持 反对

使用道具 举报

发表于 2005-5-9 11:13:00 | 显示全部楼层
Post by love-centry
所谓谦让段机制失效,其实就是让段描述符(cs,ds等)的值为零,这样EIP的值就是线性地址的值,在逻辑上段映射无效!(也就是多余的做一遍)


楼上的搞清楚再说,保护模式下的flat mode中的cs ds寄存器的值都不是0,他们指向GDT中的
段描述符,而段描述符中的limit字段的值是0xFFFFF,所以可以覆盖整个4GB的地址空间。
回复 支持 反对

使用道具 举报

发表于 2005-5-9 16:13:35 | 显示全部楼层
Post by puretears
楼上的搞清楚再说,保护模式下的flat mode中的cs ds寄存器的值都不是0,他们指向GDT中的
段描述符,而段描述符中的limit字段的值是0xFFFFF,所以可以覆盖整个4GB的地址空间。


谢谢提醒,是我讲错了,应该是段描述符内的段基址为0x0. :beat
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表