当前位置: 代码迷 >> 汇编语言 >> es:[edi]知道es的值和edi的值,如何计算此表达式的目标地址
  详细解决方案

es:[edi]知道es的值和edi的值,如何计算此表达式的目标地址

热度:275   发布时间:2016-05-02 04:28:13.0
es:[edi]知道es的值和edi的值,怎么计算此表达式的目标地址
如题。
我知道了es的值是23,知道edit是234e0但是怎么计算这个虚拟地址呢?
------解决思路----------------------
保护模式?这里的es里的是选择子,用选择子通过查描述符表得到基地址,再加上edi的值就是虚拟地址。
------解决思路----------------------
如果是实模式,就 es * 16 + edi 
如果是保护模式,则  es是段选择符,edi是段内偏移量。 根据该选择符es 去 GDT或者LDT中查找相应的 段描述符,再根据得到的段描述符找到对应段的物理基地址, 然后加上edi,算出最终的物理地址。  
  相关解决方案