Red de conocimiento informático - Conocimiento sistemático - ¿Cuál es la diferencia entre la instrucción LEA y la instrucción MOV en lenguaje ensamblador?

¿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.