找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 175|回复: 5
打印 上一主题 下一主题
收起左侧

关于APSR是否需要压栈保护的问题

[复制链接]
跳转到指定楼层
楼主
问题:
CMP R0,#0X01
  BNE  .........
  在CMP指令之后,BNE指令之前,发生了中断 改变了标志位 , 那么BNE会不会发生错误。因为这个关切,想将APSR压栈保护。
但是没有找APSR压栈的指令。我不确定是否应该保护APSR,


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2024-3-30 23:35 | 只看该作者
回复

使用道具 举报

板凳
ID:1088185 发表于 2024-3-31 02:20 | 只看该作者
保护CMP后的CPSR是中断服务函数的责任,你在主程序里没需要做任何事情
回复

使用道具 举报

地板
ID:73992 发表于 2024-3-31 20:27 | 只看该作者

好的已解决。

回复

使用道具 举报

5#
ID:73992 发表于 2024-3-31 20:33 | 只看该作者
1600277881 发表于 2024-3-31 02:20
保护CMP后的CPSR是中断服务函数的责任,你在主程序里没需要做任何事情

纳闷之前的程序为什么没出问题,原来中断程序自动压栈cpsr,已解决!
回复

使用道具 举报

6#
ID:883242 发表于 2024-4-2 21:11 | 只看该作者

翻译的很不正常,ARM把中断interrupt和故障fault一律称之为Exception异常,建议你看英文的资料,这些中文翻译的我看不懂。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表