3
 sub     lr,lr,#4
 stmfd   sp!,{lr}
 stmfd   sp!,{r0-r14}^
 mrs     r1,spsr
 stmfd   sp!,{r1}
 bl      irqHandler
 ldmfd   sp!,{r1}
 msr     spsr_cxsf,r1
 ldmfd   sp!,{pc}^
 bl      irqHandler

この '^' の意味を教えてくれる人はいますか T_T 何が違うのか

stmfd   sp!,{r0-r14}^

stmfd   sp!,{r0-r14}

????

4

1 に答える 1

5

ARMマニュアルから:

^

オプションのサフィックスです。ユーザーモードまたはシステムモードでは使用しないでください。op が LDM で、reglist に pc (r15) が含まれている場合、通常の複数レジスタ転送に加えて、SPSR が CPSR にコピーされます。これは、例外ハンドラから戻るためです。これは、例外モードからのみ使用してください。それ以外の場合、データは現在のモード レジスタではなく、ユーザー モード レジスタとの間で転送されます。

于 2012-08-23T12:41:29.133 に答える