嵌入式常用的彙編指令(個人記錄)

以下記錄,若無特殊說明,則默認爲ARM指令。按字母順序排列:

  • ALIGN(編譯器指令): 編譯器對指令或者數據的存放地址進行對齊,一般需要跟一個立即數,默認表示4字節對齊
  • AREA: 定義一個代碼段或數據段;
  • B: 簡單的程序跳轉,跳轉到到目標標號處執行;
  • BL: 帶鏈接程序跳轉,即在跳轉發生前,保存返回地址,將PC指針的值保存在LR(R14)寄存器中;
  • DCD: 分配一個或多個字的存儲單元,四字節對齊,並用其後面的值或表達式,初始化該內存;
  • DCDU: 分配一個或多個字的存儲單元,不要求嚴格對齊,並用其後面的值或表達式,初始化該內存;
  • END: 標誌着文件的結束;
  • ENDP: 標誌着程序的結束;
  • EQU: 爲程序計數器相關數值定義一個符號名稱,類似於“#define”;
  • EXPORT: 在程序中聲明全局標號,該標號可被其它文件引用;
  • IF,ELSE,ENDIF: 彙編條件分支語句,跟 C 語言的 if else 類似;
  • IMPORT: 聲明當前使用的標號,已在其它源文件中被定義,相當於“extern”;
  • PROC: 標誌着程序的開始;
  • PRESERVE8: 當前文件堆棧需按照 8 字節對齊;
  • SPACE: 在存儲器中開闢一段連續的空間,單位爲字節;
  • WEAK(編譯器指令): 弱定義,如果外部文件聲明瞭一個標號,則優先使用外部文件定義的 標號,如果外部文件沒有定義也不出錯;。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章