1. 程式人生 > >ARM彙編--pc 跳轉方法

ARM彙編--pc 跳轉方法

在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檔案中對於這個函式進行指定地址的連結過程