僞操作 |
語法格式 |
作用 |
|
常量編譯控制 |
.byte |
.byte expr{, expr} … |
分配一段字節內存單元,並用expr初始化 |
.hword .short |
.hword expr{, expr} … |
分配一段半字內存單元,並用expr初始化 |
|
.ascii |
.ascii expr{, expr} … |
定義字符串expr(非零結束符) |
|
.asciz .string |
.asciz expr{, expr} … |
定義字符串expr(以/0爲結束符) |
|
.float .single |
.float expr{, expr} … |
定義一個32bitIEEE浮點數expr |
|
.double |
.double expr{, expr} … |
定義一個64bitIEEE浮點數expr |
|
.word/.long/.int |
.word expr{, expr} … |
分配一段字內存單元,並用expr初始化 |
|
.fill |
.fill repeat {, size}{, value} |
分配一段字節內存單元,用size長度value填充repeat次 |
|
.zero |
.zero size |
分配一段字節內存單元,並用填充內存 |
|
.space .skip |
.space size {, value} |
分配一段內存單元,用value將內存單元初始化 |
|
代碼控制 |
.section |
.section expr |
定義域中包含的段 |
.text |
.text {subsection} |
將操作符開始的代碼編譯到代碼段或代碼段子段 |
|
.data |
.data {subsection} |
將操作符開始的數據編譯到數據段或數據子段 |
|
.bss |
.bss {subsection} |
將變量存放到.bss段或.bss段的子段 |
|
.code 16 .thumb |
.code 16 |
表明當前彙編指令的指令集選擇Thumb指令集 |
|
.code 32 .arm |
.code 32 |
表明當前彙編指令的指令集選擇ARM指令集 |
|
.end |
.end |
標記彙編文件的結束行,即標號後的代碼不用處理 |
|
.include |
.include "filename" |
將一個源文件包含到當前源文件中 |
|
.align .balign |
.align {alignment} {, fill} {, max} |
通過添加填充字節使當前位置滿足一定的對齊方式 |
|
宏及條件編譯控制 |
.macro .exitm .endm |
.macro acroname{parameter {, parameter}
…}… |
.macro僞操作標識宏定義的開始,.endm標識宏定義的結束。用.macro及.endm定義一段代碼,稱爲宏定義體。.exitm僞操作用於提前退出宏 |
宏及條件編譯控制 |
.ifdef .else .endif |
.ifdef condition |
當滿足某條件時對一組語句進行編譯,而當條件不滿足時則編譯另一組語句。其中else可以缺省 |
其他 |
.eject |
.eject |
在彙編符號列表文件中插入一分頁符 |
.list |
.list |
產生彙編列表(從.list到.nolist) |
|
.nolist |
.nolist |
表示彙編列表結束處 |
|
.title |
.title "heading" |
使用"heading"作爲標題 |
|
.sbttl |
.sbttl "heading" |
使用"heading"作爲子標題 |
|
.ltorg |
.ltorg |
在當前段的當前地址(字對齊)產生一個文字池 |
|
.req |
.req name, expr |
爲一個特定的寄存器定義名稱 |
|
.err |
.err |
使編譯時產生錯誤報告 |
|
|
.print string |
打印信息到標準輸出 |
|
.fail |
.fail expr |
編譯彙編文件時產生警告 |
GNU ARM指令僞操作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.