嵌入式常用的汇编指令(个人记录)

以下记录,若无特殊说明,则默认为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(编译器指令): 弱定义,如果外部文件声明了一个标号,则优先使用外部文件定义的 标号,如果外部文件没有定义也不出错;。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章