是什么
lea (%edx,%eax,1),%eax
办?
答案 0 :(得分:22)
它相当于“eax = edx + eax * 1”。
lea
的这种特殊情况是编写add %edx, %eax
的低效方式;仅在您需要避免修改标志时才有用。但与add
不同,输出可以是不是输入之一的寄存器,您可以执行更复杂的操作。
通常,lea (address expression), register
表示“计算地址表达式并将寄存器值更改为”;其他指令使用地址表达式进行内存访问,即mov (address expression), register
表示“计算地址表达式并将结果地址中的值加载到寄存器中”。
答案 1 :(得分:0)
加载有效地址 - 它等同于C一元&
运算符。