如果在IRQ或FIQ中使用SWI指令会怎样。。。

[复制链接]
3366|3
 楼主| ayb_ice 发表于 2007-6-8 10:33 | 显示全部楼层 |阅读模式
如果在IRQ或FIQ中使用SWI指令会怎样。。。<br />好象没有书讲过类似的问题,望高手赐教。。。
dld2 发表于 2007-6-8 11:04 | 显示全部楼层

和在其他模式使用SWI没有区别吧

中断中也可以CALL操作系统服务的。
 楼主| ayb_ice 发表于 2007-6-8 16:46 | 显示全部楼层

随便说说

中断中使用的话,因为标准的写法不能嵌套,等待中断退出时PC已经不是指向SWI处了,这样不知会不会有问题。。。
dld2 发表于 2007-6-9 09:30 | 显示全部楼层

不知道理解得对不对

进入IRQ:<br />&nbsp;&nbsp;&nbsp;&nbsp;当前处理器模式是IRQ模式。<br />&nbsp;&nbsp;&nbsp;&nbsp;R14_irq自动保存进入IRQ之前的PC(next+4)<br />&nbsp;&nbsp;&nbsp;&nbsp;执行SWI指令进入Supervisor模式:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R14_svc自动保存SWI指令的下一条指令的地址。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;。。。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOVS&nbsp;PC,R14&nbsp;&nbsp;&nbsp;&nbsp;;PC被装载的是R14_svc,处理器模式切换到IRQ模式。<br />&nbsp;&nbsp;&nbsp;&nbsp;。。。<br />&nbsp;&nbsp;&nbsp;&nbsp;SUBS&nbsp;PC,R14,#4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;PC被转载的R14_irq的内容-4,处理器模式切换到进入IRQ之前的模式<br />关键问题是IRQ和SWI是不同的处理器模式,所以没有任何问题。<br /><br />对于IRQ嵌套,没有搞懂。我的理解是只要先将R14入栈,再使能IRQ就可以了;没有必要那么麻烦。奇怪。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

222

主题

15499

帖子

34

粉丝
快速回复 在线客服 返回列表 返回顶部
0