|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在《ARM 微控制器基础与实战》程序清单 6.22 的 376 页的 OSIntCtxSW_1 中: LDR R4, [R6] 4 V) ]6 U" }' }
ADD SP, R4, #68 " E& F; C! B+ i/ {
LDR LR, [SP, #-8] # s& o3 j" u8 Q
MSR CPSR_c, #(NoInt | SVC32Mode) , A3 K7 f i3 [4 b; c
MOV SP, R4 LDMFD SP!, {R4,R5} 7 @/ A, p" `9 P# m @9 ?
LDR R3, =OsEnterSum 9 _0 ]# t- Q& b4 C% g
STR R4, [R3]
$ [/ N7 E) C: }: E2 I! M3 ?/ oMSR SPSR_cxsf, R5 " h, G7 B6 R/ ], p. ^
LDMFD SP!, {R0-R12, LR, PC }^ : o; a, e; Q) {' q
请问高手 DMFD SP!, {R0-R12, LR, PC }^是不是恢复新任务工作寄存器和工作模式,LR 寄存器一并得到恢复,那么 ADD 指令后面的 LDR LR, [SP, #-8] 指令是不是可以去掉 " |, {& z' t6 |, A
4 W# f" ]* v3 o( c& ] j
|
|