|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在《ARM 微控制器基础与实战》程序清单 6.22 的 376 页的 OSIntCtxSW_1 中: LDR R4, [R6]
1 E7 q# J* a$ x( @0 E8 I6 OADD SP, R4, #68 , ^* u( Q2 Z1 Z6 n% g( u6 u6 U
LDR LR, [SP, #-8] % c& ^7 d. M* R( U
MSR CPSR_c, #(NoInt | SVC32Mode) , K3 ]2 U( J L0 |; m% M
MOV SP, R4 LDMFD SP!, {R4,R5} . q' T! x$ q2 \1 H- n
LDR R3, =OsEnterSum 9 D, O: N1 s s& D" o0 V! I U
STR R4, [R3]
( r- I$ a3 [/ x6 ~' C7 w+ VMSR SPSR_cxsf, R5
3 G! d G {$ ^0 x# y* pLDMFD SP!, {R0-R12, LR, PC }^
, Y( z1 Q7 w+ g请问高手 DMFD SP!, {R0-R12, LR, PC }^是不是恢复新任务工作寄存器和工作模式,LR 寄存器一并得到恢复,那么 ADD 指令后面的 LDR LR, [SP, #-8] 指令是不是可以去掉 & R: r# c$ d" e4 H! N7 O6 _
9 m o3 E; j% d( `
|
|