¿Cuál es la diferencia entre la instrucción LEA y la instrucción MOV en lenguaje ensamblador?
La función de la instrucción MOV es transferir datos, como MOV AX, [1000H], que utiliza 1000H como dirección de desplazamiento para encontrar la unidad de memoria y enviar los datos en la unidad de memoria a AX;
La función de la instrucción LEA es obtener la dirección de compensación, como LEA AX, [1000H], que consiste en enviar la dirección de compensación 1000H del operando de origen [1000H] a AX. Cuando comprenda, puede eliminar directamente [], que es equivalente a MOV AX,1000H.
Otro ejemplo: LEA BX,[AX] es equivalente a MOV BX,AX; LEA BX,TABLE es equivalente a MOV BX,OFFSET TABLE.
Pero a veces MOV no se puede utilizar directamente:
Por ejemplo: LEA AX,[SI+6] no se puede reemplazar directamente por: MOV AX,SI+6 pero sí; ser reemplazado por:
MOV AX,SI
ADD AX,6
Completar en dos pasos.