天天看点

Lea 指令

假设 eax=1

LEA eax [eax+eax*4] 结果为什么是 eax=5呢?

[eax+eax*4] 为直接寻址方式,操作数的地址有DS加上指令中给出的偏移得到。在这里,偏移为:eax+eax*4;

LEA指令的功能是将源操作数、即存储单元的有效地址(偏移地址)传送到目的操作数。

在这里就相当于将偏移值:eax+eax*4赋给eax了。如果用mv,那就是将ds:(eax+eax*4)=ds+5 处的值给eax。