首页 > 其他 > 详细

pc 跳转方法(arm)

时间:2014-04-09 01:06:52      阅读:567      评论:0      收藏:0      [点我收藏+]

在arm开发中经常使用函数,其中函数调用中经常会用到跳转。

函数调用过程编译器会自动记录跳转的地址 ,但是这些地址的调用方法和跳转方式一直都有很多的变化。

一般pc的跳转可以分为两大类 

1.直接的pc寄存器赋值

mov  pc,#0x0  ;pc 跳转到0地址

mov pc,lr  ;pc  跳转到lr的地址  

以上就是pc的寄存器直接给予一个指定的地址   ,强制pc跳转过去

2.利用跳转指令  B  BL  BX ...

B  #0x0           ;跳转到0地址

B  LR   ;跳转到lrdizhi qu 

&&&&这里增加一个 非常规的方法&&&

函数指针方法:

(int*) a(){}

a =0x0

这只一个函数指针   之后对于函数进行赋地址

之后调用这个函数指针   这样就跳转到这个被赋予的地址了  

这里可以在编译器中看到这个函数   也可以在scatter文件中对于这个函数进行指定地址的链接过程


pc 跳转方法(arm),布布扣,bubuko.com

pc 跳转方法(arm)

原文:http://blog.csdn.net/weiwei_xiaoyu/article/details/23202467

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!