打印

arm2440堆栈初始化问题?

[复制链接]
1670|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
clleady|  楼主 | 2010-11-10 22:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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,那么其他模式不就没有初始化化吗?我有点搞不清楚这段语句的意思了,谢谢高手指点!

相关帖子

沙发
HWM| | 2010-11-10 23:19 | 只看该作者
不同模式有其自身的SP,因此是不会覆盖地。

使用特权

评论回复
板凳
wwqxs| | 2011-1-17 17:00 | 只看该作者
地球分为好多个国家,每个国家都有一个首都,你有好多个分身在每一个国家,而你的这些分身只能一个处于活动状态,最后你在美国的分身活动了,其它的分身就定格了,同样的道理如同ARM的mode

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:活到老学到老

219

主题

477

帖子

1

粉丝