Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> 詳細なSTMFDおよびLDMFD命令と個人理解分析

詳細なSTMFDおよびLDMFD命令と個人理解分析

  

LDM /STM命令は、主にフィールド保護、データコピー、パラメータ転送などに使用されます。

STMFD命令

STMFD Rn {!}、{reglist} {^}
STMFD命令説明

例:
STMFD SP! 、{R0-R7、LR}

この命令の疑似コードの説明については、これはほぼ同じです。
SP = 9-x; 4; address = SP; i = 0〜7の場合Memory [address] = Ri; address = address + 4; Memory [address] = LR;

SPのアドレスが0x40000460であるとします。擬似コードから次の図が得られます(青い塗りつぶしの部分がアドレスです)。 Br>

LDMFD命令

LDMFD Rn {!}、{reglist} {^}

この命令の意味は、Rn(開始アドレス)、値に基づいていますレジスタリストに書き込みます。
LDMFD命令説明

例:
LDMFD SP! 、{R0-R7、PC} ^

この命令の擬似コードの説明では、これはほぼ同じです。
address = SP; i = 0〜7の場合Ri = Memory [address、4] address = address + 4; SP =アドレス;

SPアドレスが0x4000043Cであるとします。次の図は擬似コードから取得できます(青い塗りつぶし領域がアドレスです)。
LDMFD命令スタック表示

blue SPとマークされた色は命令実行前のSPアドレスで、赤とマークされたSPは命令実行後のSPアドレスです。

Copyright © Windowsの知識 All Rights Reserved