|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
问一个堆栈指针的问题 在 OSIntCtxSw_1,获取新任务堆栈指针.
, `; T, o9 S/ {LDR R4, [R6] # B N Y0 h& b" I" U8 O# l) n6 X
ADD SP, R4, #68 ;17 寄存器
4 L3 l7 q# Q7 u5 N7 fCPSR,OsEnterSum,R0-R12,LR,SP / m; e! U% A0 x! \0 Y
LDR LR, [SP, #-8]
# t4 @8 K/ y2 E. DMSR CPSR_c, #(NoInt | SVC32Mode) ;进入管理模式
. I: N0 O5 L1 E; b! BMOV SP, R4 ;设置堆栈指针 ) e/ P. U7 `- Z" [' H# B
LDMFD SP!, {R4,R5} ;CPSR,OsEnterSum 7 N* {4 U& `- B" Q/ Q8 ^- T
;恢复新任务的 OsEnterSum
) K7 s+ L# X. f, P...... : g) L) q. C/ P+ A% X" q, J) W
我想问一下 DR LR, [SP, #-8],这一行程序中,为什么堆栈指针要减去 8 个字节的值 8 y7 A3 _* i" x G3 K+ c* W7 N
% s3 s9 C1 \3 Z" m! C6 \1 M
|
|