GNU下ARM偽指令

2021-08-20 14:21:07 字數 1173 閱讀 6642

1. 資料定義(data definition)偽操作

資料定義偽操作一般用於為特定的資料分配儲存單元,同時可完成已分配儲存單元的初始化。常見的資料定義偽操作有如下幾種:

1).byte 單位元組定義.byte 0x12 ,『a』

2).short 定義雙位元組資料 .short 0x1234

3) .long /.word 定義4位元組資料.word 0x12345678

4) .quad 定義8位元組資料.quad 0x1234567812345678

5) .float 定義浮點數 .float0f3.2

6). string / .asciz / .ascii定義字串 .ascii 「abcd\0」

注意: .ascii 偽操作定義的字串需要每行新增jiewei 字元『\0』,其他不需要

2)彙編控制偽操作

1).if 表示式

.else

.endif

2) .macro, .endmmacro偽操作可以將一段**定義為乙個整體,稱為巨集指令,然後就可以在程式中通過巨集指令多次呼叫該段**。其中,$標號在巨集指令被展開時,標號會被替換為使用者定義的符號。巨集操作可以使用乙個或多個引數,當巨集操作被展開時,這些引數被相應的值替換。

.macro

macroname …}

……code

.endm

3. 偽指令

1)adr register,label

2)adrl register,label

3) ldr register, =位址值

4. 雜項偽操作

.global 用來宣告乙個全域性的符號

.arm   下面使用的是arm指令集

.thumb

.section 定義乙個段

.text  **段

.data  資料段

.bss 全域性未初始化區

.align (4)  4位元組對齊

.org offset  從當前位址加上offset開始存放**

.extern  宣告乙個外部符號,相容其他彙編

.weak    宣告乙個符號,如果符號沒有定義,就忽略不報錯

.end    檔案結束

.include 「filename」 包含指定檔案

.equ  把某個符號定義成乙個值,例如 .equ  pi,3.1415

gnu下的arm彙編偽指令 word說明

說說這個.word的作用。word expression 就是在當前位置放乙個 word 型的值,這個值就是 expression 舉例來說,rwtcon word 0x15300000 就是在當前位址,即 rwtcon 處放乙個值 0x15300000 翻譯成intel 的彙編語句就是 rwtco...

ARM彙編偽指令

global,local,set,equ global 使得符號對聯結器可見,變為對整個工程可用的全域性變數,通俗講就是定義全域性變數 eg global symbol local set 給乙個全域性變數或區域性變數賦值,和.equ的功能一樣 eg set symbol expr set star...

ARM彙編偽指令

資料定義偽指令 彙編控制偽操作 雜項.global,local,set,equ 使得符號對聯結器可見,變為對整個工程可用的全域性變數,通俗講就是定義全域性變數 eg global symbol 給乙個全域性變數或區域性變數賦值,和.equ的功能一樣 eg set symbol expr set st...