zeu*_*xcg 23

它相当于"eax = edx + eax*1".

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

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