LEA(Load Effective Address)和MOV(Move)是汇编语言中常用的两条指令。
MOV指令用于在寄存器之间、寄存器和内存之间以及内存之间传送数据。它的主要作用是将源操作数的数据传送到目的操作数的位置。例如,MOV指令可以把一个常数加载到寄存器,也可以把一个寄存器的值复制到另一个寄存器。MOV指令常被用于数据的加载、存储和传输操作。
LEA指令实际上并不进行数据传送,它用于将一个内存地址计算结果装入一个寄存器中,而不是将内存中的数据传送到寄存器。LEA指令的语法类似于MOV指令,但其功能是“加载有效地址”。它计算某个内存操作数的偏移地址,并将结果存储在目的寄存器中,而不是像MOV那样移动这个内存操作数的内容。LEA经常用于计算数组元素的地址,结构体成员的偏移量等。
MOV指令用于数据传送,而LEA指令用于加载有效地址。