LEA指令?

时间:2010-12-26 16:49:20

标签: assembly x86

是什么

lea    (%edx,%eax,1),%eax 

办?

2 个答案:

答案 0 :(得分:22)

它相当于“eax = edx + eax * 1”。

lea的这种特殊情况是编写add %edx, %eax的低效方式;仅在您需要避免修改标志时才有用。但与add不同,输出可以是不是输入之一的寄存器,您可以执行更复杂的操作。

通常,lea (address expression), register表示“计算地址表达式并将寄存器值更改为”;其他指令使用地址表达式进行内存访问,即mov (address expression), register表示“计算地址表达式并将结果地址中的值加载到寄存器中”。

答案 1 :(得分:0)

加载有效地址 - 它等同于C一元&运算符。