嵌入式GNU彙編常用指令

2021-10-02 14:15:28 字數 574 閱讀 5883

(特殊暫存器(cpsr和spsr))

除了push,pop還有stmfd,ldmfd。stm 和 ldm 就是多儲存和多載入,arm 使用的 fd 型別

的堆疊,fd 是 full descending 的縮寫,即滿遞減的意思,因為fd堆疊是向下增長的。

stmfd sp!

, @r0~r3,r12 入棧

stmfd sp!

, @lr 入棧

ldmfd sp!

, @先恢復 lr

ldmfd sp!

, @再恢復 r0~r3, r12

暫存器列表中編號低的對應低位址。

_start:

ldr sp,

=0x80200000 @設定棧指標

b main @跳轉到 main 函式

上述即在彙編中初始化 c 執行環境,然後跳轉到 c 檔案的 main 函式中執行。有些處理器還需要做其他的初始化,比如初始化 ddr 等等。因為跳轉到 c 檔案以後再也不會回到彙編了,所以在第 4 行使用了 b 指令來完成跳轉。

嵌入式ARM中常用的彙編指令講解

在介紹之前,先把arm中常見的暫存器及其別名截圖,如下 其中的r1,r2,r3常用作傳遞引數,r4至r11儲存區域性變數,r13常用作資料棧指標,別名sp r14暫存器稱作連線暫存器,別名lr,常用儲存子程式返回位址 暫存器r15是程式計數器,別名pc 1 相對跳轉指令 b bl 這倆條指令可跳轉範...

嵌入式學習筆記 彙編常用符號與偽指令

彙編指令中的注釋符號 表示後面附帶的是立即數 以冒號結尾的指令是標號,標記指令的被分配的位址,類似與c中定義的變數,通過變數代替位址 表示當前指令位址 例如,彙編中死迴圈的實現 b 偽指令前面通常都帶乙個點,以顯示出於指令的不同 globe start給start外部鏈結屬性 section tex...

嵌入式linux常用shell指令

1,mkdir 作用 建立資料夾 用法 mkdir foldername建立資料夾foldername 2,rm 作用 刪除檔案或資料夾 用法 rm filename刪除檔案 rm r foldername刪除資料夾 3,mv 作用 重新命名或搬移 用法 mv filename newfilenam...