博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARM保存中断时,为什么使用“sub lr, lr, #4”
阅读量:2446 次
发布时间:2019-05-10

本文共 294 字,大约阅读时间需要 1 分钟。

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

转载地址:http://ibtqb.baihongyu.com/

你可能感兴趣的文章
Django博客教程–创建一个简单的博客
查看>>
编程和编码的区别_安全编程和编码提示
查看>>
实用的小应用_使您的新应用更安全的实用提示
查看>>
android mvp示例_Android深层链接示例
查看>>
Android RSS阅读器教程
查看>>
SkySilk –托管云服务提供商
查看>>
使用字典的Python HashMap实现
查看>>
wps宏的功能_宏与功能之间的区别
查看>>
while和do while循环之间的区别
查看>>
程序员连续剧_每个程序员都应该看的5部最佳电视连续剧
查看>>
tensorflow简介_TensorFlow简介
查看>>
矩阵 python 加法_Python矩阵加法
查看>>
python快速排序_Python快速排序
查看>>
人工神经网络导论_神经网络导论
查看>>
C ++ STL无序多集– std :: unordered_multiset
查看>>
深度学习导论
查看>>
go-back-n_iMyFone D-Back iPhone数据恢复
查看>>
MailboxValidator –批量电子邮件列表清理服务
查看>>
机器学习中常见的最优化算法_最常见的机器学习算法
查看>>
css图片和边框之间有间隔_CSS和CSS3之间的区别
查看>>