在读取Intel 64 and IA-32 Architectures Software Developer’s Manual时,LEA指令的操作部分(加载有效地址)使用名为EffectiveAddress(SRC)
的计算,该计算未在其他任何地方定义。
有效地址的定义是什么?EffectiveAddress(SRC)
做了什么?
答案 0 :(得分:6)
同一文件的第3.7.5节(指定抵消)说明:
存储器地址的偏移部分可以直接指定为a 静态值(称为位移)或通过地址计算 由以下一个或多个组成部分组成:
- 位移 - 8位,16位或32位值。
- Base - 通用寄存器中的值。
- 索引 - 通用寄存器中的值。
- 比例因子 - 值为2,4或8,乘以指数值。
添加这些组件所产生的偏移称为 有效地址。这些组件中的每一个都可以具有正面 或负(2s补码)值,但缩放除外 因素。
EffectiveAddress 使用以下方式计算有效地址
Base + (Index*Scale) + Displacement