[ZLG-ARM] 中断返回时地址计算

[复制链接]
2188|3
 楼主| wangdecai 发表于 2008-4-18 10:30 | 显示全部楼层 |阅读模式
按照ARM书上说返回时,lr-4给PC;<br />但是我们知道:如果是在arm状态(每条指令4字节)发生中断,则lr-4没有问题,<br />但是如果在thumb状态下,为什么返回时也是lr-4呢?
zlg_syg 发表于 2008-4-18 19:43 | 显示全部楼层

书上有说,默认状况下,是arm状态!

  
lyl831015 发表于 2008-4-19 20:00 | 显示全部楼层

ARM状态

异常都是在ARM状态下处理的。
 楼主| wangdecai 发表于 2008-4-21 10:21 | 显示全部楼层

不同意见

但是我的主程序是工作在thumb状态,在thumb状态发生中断,中断服务程工作在arm状态,从中断中返回,在中断时保存在lr中的是thumb状态下的下两条指令地址,返回时应该返回lr-2,我不明白为什么还返回lr-4?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

5

帖子

0

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