关于ARM的B,BL跳转指令
来源:互联网 发布:股票付费软件 编辑:程序博客网 时间:2024/04/30 01:12
假设跳转指令处的地址是A,跳转目标处的地址是B.
B,BL指令保存的是偏移地址,这个地址的计算方法是:
1.B-(A+8).A+8是因为ARM的流水线使得指令执行到A处时,PC实际的值是A+8.
2.第一步得到的值是4的倍数,因为ARM的指令是4对齐的,即最低两位为00.于是将这个值右移两位.
3.得到最终偏移
执行时:
1.取出偏移
2.左移两位
3.加入PC,这时PC的值刚好为目标处的地址值,即目标地址指令进入取指,流水线前两级被清空
B,BL指令保存的是偏移地址,这个地址的计算方法是:
1.B-(A+8).A+8是因为ARM的流水线使得指令执行到A处时,PC实际的值是A+8.
2.第一步得到的值是4的倍数,因为ARM的指令是4对齐的,即最低两位为00.于是将这个值右移两位.
3.得到最终偏移
执行时:
1.取出偏移
2.左移两位
3.加入PC,这时PC的值刚好为目标处的地址值,即目标地址指令进入取指,流水线前两级被清空
- 关于ARM的B,BL跳转指令
- ARM的B,BL跳转指令
- ARM的B,BL跳转指令偏移值计算
- ARM和Thumb的跳转指令B、BL、BX
- B, BL 跳转指令
- 跳转指令b ,bl
- ARM中B指令和BL指令的区别
- ARM中的B指令和BL指令
- ARM中LDR B BX BL BLX指令的研究
- ARM汇编指令B和BL的区别
- arm B和BL指令浅析
- arm学习b,bl指令浅析
- arm汇编b,bl指令浅析
- arm学习b,bl指令浅析
- arm汇编ldr,str,b,bl指令
- arm汇编b,bl指令浅析
- arm B和BL指令浅析
- arm B和BL指令浅析
- 如何使用Eclipse快捷功能提高你的工作效益
- 关于环境变量LD_LIBRARY_PATH
- IE下target获得焦点时存在虚线的问题
- mysql学习3
- java基础整理1
- 关于ARM的B,BL跳转指令
- 使用fopen错误关闭文件问题
- Ubuntu android ?????? no permissions
- arm-linux-gcc学习笔记
- tyvj2044
- GPS经纬度值 转换成 区域
- fork()子进程与父进程之间的文件描述符问题
- arm Interrupt handlers
- dup and dup2的剖析