一、伪指令
伪指令的概念:伪指令和指令一样都是会生成机器码的指令,但伪指令与指令的区别是:每条汇编指令都有对应的唯一一条机器码,而伪指令可以有很多一条机器码,也可以理解为伪指令是有很多一条汇编指令组合而成。
二、伪操作
伪操作:告诉编译器怎么去编译指令,而它本身不生成机器码(类似于C中的宏)@@而对于不同的编译器下所对应的伪操作都是不同的@@这里说的是基于GUN(GCC)下的伪操作
@@伪操作一般以’ . '开头类似于C中的‘ # ’
@@伪操作
@.glabl symbol
@@把SYMBOL字符声明为全局 同一工程下的.S也可以使用
@.local symbol
@@把symbol字符声明为局部
@@.eql DATA, 0X123
@类似于宏定义 #define DATA 0X123 @调用的时候MOV R1 ,#DATA
@@函数封装
@.macro FUNC
@mov r1,#0x12
@mov r2,#0x34
@.endm
@这样就相当于写了一个FUNC的函数,下次就可以直接调用
@条件编译
@.if 0
@.....
@.....
@.endif
@重复操作
@@.rept 3
@mov r1,#0x12
@mov r2,#0x34
@endr
@@重复MOV 3次
@.weak FUN
@@弱化FUN,即没有定义FUN也不要管他 相当于NOP 操作
@在当前空间申请空间并初始化
@.baty @.word
@使用.baty要重新字节对齐
@字节对齐.align 2
@按2的2次方对齐
@.arm
@使用ARM指令
@.thumb
@使用thunmb指令
@.TEXT
@.END
STOP:
B STOP
.end @汇编程序结束