Las instrucciones de STMFD y LDMFD y el análisis de comprensión personal

  

Las instrucciones de LDM /STM se utilizan principalmente para la protección de campo, la replicación de datos, la transmisión de parámetros, etc.

Instrucciones de STMFD

STMFD Rn {!}, {reglist} {^}
Explicación de instrucciones de STMFD

Ejemplo:
STMFD SP! , {R0-R7, LR}

Para la explicación del pseudo código de esta instrucción, esto es aproximadamente el mismo:
SP = 9 -times; 4; address = SP; para i = 0 a 7Memory [address] = Ri; dirección = dirección + 4; Memoria [dirección] = LR;

Suponiendo que la dirección SP es: 0x40000460, la siguiente figura se puede obtener del pseudo código (el relleno azul es la dirección)
Indicación de pila < Br>

Instrucción LDMFD

LDMFD Rn {!}, {Reglist} {^}

El significado de esta instrucción se basa en Rn (dirección de inicio), valor Escribir en la lista de registro.
Explicación de instrucciones de LDMFD

Ejemplo:
LDMFD SP! , {R0-R7, PC} ^

Para la explicación del pseudo código de esta instrucción, esto es aproximadamente el mismo: dirección de Internet = SP; para i = 0 a 7Ri = Memoria [dirección, 4] dirección = dirección + 4; SP = dirección;

Suponga que la dirección del SP es: 0x4000043C, la siguiente figura se puede obtener del pseudo código (el área de relleno azul es la dirección):
Indicación de pila de instrucciones LDMFD

azul El color marcado SP es la dirección SP antes de la ejecución de la instrucción, y el rojo marcado SP es la dirección SP después de la ejecución de la instrucción.

Copyright © Conocimiento de Windows All Rights Reserved