欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

题目: 在32位系统中 ds:eax 的算法

更新时间: 2014-01-05 03:16:36 责任编辑: Author_N1

 

标题: 在32位系统中 ds:eax 的算法
描述: 看过王爽汇编书的人都知道 ds:ax 这种地址的算法,但产生这种算法的原因是地址线不够而产生了段的设计。但是现在32为系统中地址线已经够了,为何在VC调试程序或反汇编32位程序时候依然会产生上面格式的汇编代码,在这里应该怎么算?
--参考方法--
严格来说,这个计算的不是物理地址,而是所谓的有效地址 EA ,这个有效地址在不同的 cpu 模式下含义是不一样的,即如真正的 8080/8086 类的 cpu 上,它确实是物理地址,但若是现在的那些 cpu 的 8086 虚拟模式下,也只是个该虚拟环境下的地址而已,不再是真正的物理地址了。
32 位环境下,段寄存器看到的是 16 位,但其实它只是个实际段描述内容的个索引;段的描述,包括了段的起始地址、长度、访问权限等诸多的信息,通过段的起始地址和偏移,可以得到所谓的线性地址,再进一步得到物理地址。有些复杂啊,真要具体了解,得看保护模式环境的系统程序设计方面的(不是应用程序设计);简单地,也可以搜索下段描述符、线性地址、物理地址之类的关键字,看看相关的粗略的说明。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:16:36
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20305/
本文WWW.DOC100.NET DOC100.NET版权所有。