|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
问一个堆栈指针的问题 在 OSIntCtxSw_1,获取新任务堆栈指针. ; b9 `. C) x, t
LDR R4, [R6]
% c/ Y9 x2 U* V! t1 I+ J5 A5 _ADD SP, R4, #68 ;17 寄存器1 X; y3 j$ x, f0 o, y) |9 I0 W x
CPSR,OsEnterSum,R0-R12,LR,SP
8 s# M8 W8 D( |+ VLDR LR, [SP, #-8]
: U- n: U3 L2 d1 IMSR CPSR_c, #(NoInt | SVC32Mode) ;进入管理模式
! {* ~/ E; X& J( sMOV SP, R4 ;设置堆栈指针 # x2 c+ z& v8 U
LDMFD SP!, {R4,R5} ;CPSR,OsEnterSum
* d6 \* i: X$ D( ^% i, [;恢复新任务的 OsEnterSum & r5 v. G5 e( y9 T6 ]/ n% e
......
, M5 K; c5 d6 c8 b) y; p我想问一下 DR LR, [SP, #-8],这一行程序中,为什么堆栈指针要减去 8 个字节的值 ) z! w9 Y& T, T/ u+ }
- V3 t' w% @3 g |
|