Red de conocimiento informático - Material del sitio web - ¿Cuál es la diferencia entre las instrucciones ldr y mov en arm? Parece que se repite.

¿Cuál es la diferencia entre las instrucciones ldr y mov en arm? Parece que se repite.

Mov solo puede ser una operación antes de un registro, no se puede mover de la memoria a un registro. El comando ldr funciona. También hay una pseudoinstrucción ldr, que puede agregar = antes del valor inmediato para indicar que una dirección está escrita en un registro, como ldr.

r0,

=0x12345678 De esta forma, la dirección 0x12345678 se escribe en r0. Por tanto, la directiva ldr es similar a mov. Sólo la instrucción mov limita la longitud de los datos inmediatos a 8 bits, que no pueden exceder los 512. La directiva LDR no tiene tal restricción. Si el valor inmediato que sigue a la directiva ldr no excede los 8 bits, la directiva ldr se convierte en una instrucción mov durante el ensamblaje real.