orr
r1,r0,#ABORTMODE|NOINT
msr
cpsr_cxsf,r1
;AbortMode
ldr
sp,=AbortStack
; AbortStack=0x33FF_6000
orr
r1,r0,#IRQMODE|NOINT
msr
cpsr_cxsf,r1
;IRQMode
ldr
sp,=IRQStack
; IRQStack=0x33FF_7000
orr
r1,r0,#FIQMODE|NOINT
msr
cpsr_cxsf,r1
;FIQMode
ldr
sp,=FIQStack
; FIQStack=0x33FF_8000
请问,这是堆栈初始化,我也知道他是把各各模式的值放入cpsr,然后然指针指向各各中断地址,但是我觉得这有种覆盖的感觉,从上执行到下后,我认为cpsr的值就是FIQMode,sp的值就是FIQStack=0x33FF_8000,那么其他模式不就没有初始化化吗?我有点搞不清楚这段语句的意思了,谢谢高手指点! |