类似于C语言中的#define,#if等
.GNU伪操作一般都以’.’开头
.global symbol @将symbol声明成全局
.local symbol @将symbol声明成局部
.equ DATA,0xFF @将0xFF替换成DATA
MOV R1,#DATA @地址为0x00000000
.macro FUNC
MOV R1,#1
MOV R2,#2
.endm
FUNC(调FUNC直接调用里边的内容)
.if
.endif
.rept 3(重复三次)
MOV R1,#
.endr
.week func(即使用到了没定义的也不报错直接通过)
B func(编译成NOP)
在当前地址申请一个字的空间并将其初始化
MOV R1,#1
.word 0xFFFFFFFF(不是机器码)
MOV R2,#2
在当前地址申请任意个字节的空间并将其初始化
.space 12,0x12 @申请12个字节都填充0x12
在当前地址申请一个字节的空间并将其初始化
MOV R1,#1
.byte 0xFF
MOV R2,#2(编译报错,放在了0x5)
MOV R1,#1
.byte 0xFF
.align 2(2的2次方保持对齐)
MOV R2,#2
.arm(后面是arm指令)
.thumb