Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

《软件调试》勘误和意见

帖子发起人: jackywei   发起时间: 2010-07-26 20:04 下午   回复: 5

Print Search
帖子排序:    
   2010-07-26, 20:04 下午
jackywei 离线,最后访问时间: 2010/7/19 3:38:33 jackywei

发帖数前500位
注册: 2010-07-19
发 贴: 4
有个问题请教下
Reply Quote
61页开始,“取线性地址的高10位得到PDE在页目录中的索引,即94a/4",这里除以4做何理解?
是因为94a是高12位,所以做移位运算(向右移动2位,即/4)得到高10位?
还是因为其他原因?
IP 地址: 已记录   报告
   2010-07-27, 12:33 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 有个问题请教下
Reply Quote
是<font color=yellow>因为每个页目录项(PDE)是4个字节大小,除以4得到的是对应表项在页目录表中的表项序号</font>。[此回答不当,见下面的帖子,是右移2位,取高10位]
IP 地址: 已记录   报告
   2010-07-27, 13:18 下午
jackywei 离线,最后访问时间: 2010/7/19 3:38:33 jackywei

发帖数前500位
注册: 2010-07-19
发 贴: 4
Re: 有个问题请教下
Reply Quote
Raymond,我觉得你的答复是错误的。
问题的关键是:究竟是取高10,还是高12位;以及这个地方存的是索引项序号还是实际偏移值。
我估计你是把94a当做了实际的偏移值.但这样是不对的。
首先是94a是高12位,而不是按规则高10位,所以直接取94a来操作是不对的。
第二,94a对应得二进制是100101001010b,高10位是1001010010b,也就是0x252,这个就代表了序号,后面的*4得到了实际的偏移值。
你这里/4得到正确的值只不过是凑巧,只是因为94a是12位,右移2位(相当于除以4)正好得到高10位。
为表述清楚,这里不应该用94a/4这样的说法,而应该改成和你在描述4K页那里一样:由于0x94a0d678的高10位是100101001010b,也就是0x252就可以得到索引,再*4就得到了偏移值。
IP 地址: 已记录   报告
   2010-07-28, 14:22 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 有个问题请教下
Reply Quote
赫赫,除以4永远是右移两位,不是凑巧,不过我在二楼的解释的确不对,低估了这个问题......
IP 地址: 已记录   报告
   2010-07-28, 15:07 下午
jackywei 离线,最后访问时间: 2010/7/19 3:38:33 jackywei

发帖数前500位
注册: 2010-07-19
发 贴: 4
Re: 有个问题请教下
Reply Quote
那这里/4是应该按我的解释,是为了取94a的高10位吧?
IP 地址: 已记录   报告
   2010-07-28, 15:10 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 有个问题请教下
Reply Quote
对的,你说的很对
IP 地址: 已记录   报告
高端调试 » 图书 » 《软件调试》勘误和意见 » Re: 有个问题请教下

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.