lea
lea是 “load effective address” 的缩写,它只计算地址,不会把内存中的值移动到目的寄存器。简单来说,lea指令可以用来将一个内存地址直接赋给目的操作数,例如:lea eax,[ebx+8]就是将ebx+8这个值直接赋给eax寄存器,而不是把ebx+8处的内存地址里的数据赋给eax寄存器。
mov
mov指令与lea恰恰相反,例如:mov eax,[ebx+8]则是把内存地址为ebx+8处的数据赋给eax寄存器。
lea是 “load effective address” 的缩写,它只计算地址,不会把内存中的值移动到目的寄存器。简单来说,lea指令可以用来将一个内存地址直接赋给目的操作数,例如:lea eax,[ebx+8]就是将ebx+8这个值直接赋给eax寄存器,而不是把ebx+8处的内存地址里的数据赋给eax寄存器。
mov指令与lea恰恰相反,例如:mov eax,[ebx+8]则是把内存地址为ebx+8处的数据赋给eax寄存器。