ARM LR寄存器
来源:互联网 发布:护卫神php套件论坛 编辑:程序博客网 时间:2024/06/05 04:39
MOV PC,LR
看下面这个ARM汇编吧
BL NEXT ;跳转到子程序
......... ;NEXT处执行
NEXT
..........
MOV PC,LR ;从子程序返回
这里的BL是跳转的意思,LR(R14)保存了返回地址
PC(R15)是当前地址,把LR给PC就是从子程序返回
这里有一下总结
首先
1.SP(R13) LR(R14)PC(R15)
2.lr(r14)的作用问题,这个lr一般来说有两个作用:
1》.当使用bl或者blx跳转到子过程的时候,r14保存了返回地址,可以在调用过程结尾恢复。
2》.异常中断发生时,这个异常模式特定的物理R14被设置成该异常模式将要返回的地址。
另外注意pc,在调试的时候显示的是当前指令地址,而用mov lr,pc的时候lr保存的是此指令向后数两条指令的地址,大家可以试一下用mov pc,pc,结果得到的是跳转两条指令,这个原因是由于arm的流水线造成的,预取两条指令的结果.
3.》我以前看书不懂的地方
子程序返回的三种方法
现在总结如下
1.MOV PC,LR
2.BL LR
3.在子程序入口处使用以下指令将R14存入堆栈
STMFD SP!,{<Regs>,LR}
对应的,使用以下指令可以完成子程序的返回
LDMFD SP!, {<Regs>,LR}
- ARM LR寄存器
- ARM LR寄存器
- ARM LR寄存器
- ARM LR寄存器
- ARM中pc、lr寄存器
- arm 的pc和lr寄存器
- ARM的PC和LR寄存器
- ARM 内核SP,LR,PC寄存器
- ARM 内核SP,LR,PC寄存器
- MOV arm 通用寄存器 PC,LR
- LR寄存器
- ARM汇编中lr(r14)寄存器的作用
- ARM汇编中LR(R14)寄存器的作用
- ARM汇编中lr(r14)寄存器的作用
- ARM汇编中lr(r14)寄存器的作用
- 深入理解ARM的SP LR PC这三个寄存器
- ARM中链接寄存器LR和指令寄存器IR的关系
- ARM中链接寄存器LR和指令寄存器IR的关系
- 在eclipse中,将java工程转换成web工程
- ios面试题收集(四)
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- 关于UIWebView的一些事
- jquery ui autocomplete自动提示控件使用示例
- ARM LR寄存器
- 命令行查看memcache状态
- HazelCast-Java实现的内存数据网格(In-Memory Data Grid)分析 一
- 经典开源C/C++工具包
- 分析各类浏览器的userAgent信息,不难得出分辨各类浏览器及其版本的正则表达式。
- 关于教育的摘录
- 中国教育这些年的发展
- 日擬射曳光彈 恫嚇華軍機
- 【多媒体封装格式详解】---MP4【3】