ARM保存中断时,为什么使用“sub lr, lr, #4”
来源:互联网 发布:淘宝模板代码教程 编辑:程序博客网 时间:2024/06/05 20:22
1. 首先要谈流水线,在arm执行过程中一般分为取指,译码,执行阶段
也就是假设当前 第一条指令在执行阶段
第二条指令在译码阶段
第三条指令在取指阶段
当前正在执行的指令地址为pc-8,第二条就为pc-4,而pc现在真正指向已处于pc位置
2. 一般pc在发生中断时lr保存的是当前的pc值,这里pc值是多少呢??
当发生中断肯定保存的pc是第三条指令,而我们从中断返回肯定不是执行第三条指令,而是紧接着的第二条指令,所以应该保存的 lr = pc - 4,但是当执行到此位置时pc值已经改变,肯定不对,还好发生中断时 mov lr,pc 所以这里就可以直接使用 sub lr,lr,#4
- ARM保存中断时,为什么使用“sub lr, lr, #4”
- ARM中断返回SUB pc lr-irq #4
- ARM的PC,LR在中断的使用
- LR
- LR
- LR
- LR
- Lr
- Lr
- arm异常中lr保存pc的情况
- ARM LR寄存器
- ARM汇编,bx lr,
- ARM LR寄存器
- ARm汇编 bx lr
- ARM LR寄存器
- ARM LR寄存器
- ARM 寄存器 SP 和 LR作为通用寄存器使用时的限制
- ARM中SP,LR,PC使用(转载)
- ios助手开发系列(三):打开设备连接,获取设备基本信息
- Java基础19:缓冲区;装饰模式;字节流;字符流
- cloudfoundry集成oracle kill long_queries测试
- VS2010中配置SVN插件实现团队开发
- zen-cart屏蔽中文浏览器的方法
- ARM保存中断时,为什么使用“sub lr, lr, #4”
- js闪烁提示错误信息---setTimeout和setInterval的应用
- velocity介绍及语法
- (1)前言——(6)前言
- 快速开发:估算与进度
- Protection 5 ---- Priviliege Level Checking 2
- Python初学(一)DocString
- 直接选择排序法
- php性能优化