汇编控制伪操作用于条件汇编、宏定义、重复汇编控制等。
(1) IF、ELSE及ENDIF
IF、ELSE及ENDIF伪操作能够根据条件吧一段源代码包括在汇编语言程序内,或者将其排除在程序之外。它与c语言中的if语句的功能很相似。
语法格式
IF logical expression
… ;指令或伪指令代码段1
{ELSE
… ;指令或伪指令代码段2
}
ENDIF
其中,logical expression是用于控制选择的逻辑表达式。ELSE伪操作作为可选的。
使用说明
IF、ELSE及ENDIF伪操作可以嵌套使用。
示例24 IF条件编译伪操作举例
IF Variable=16 ;如果Variable=16成立,则编译下面的代码
BNE SUBI
LDR R0,=SUB0
BX R0
ELSE
BNE SUB0
…
ENDIF
(2) WHILE及WEND
WHILE及WEND伪操作能够根据条件重复汇编相同的一段源代码。它与c语言中的while语句很相似。只要满足条件,就将重复汇编语法格式中的指令或伪指令。
语法格式
WHILE logical expression
… ;指令或伪指令代码段
WEND
使用说明
WHILE和WEND伪操作可以嵌套使用。
示例25 WHILE条件编译伪操作举例
count SETA 1 ;设置循环计数变量count初始值为1
WHILE count<=4 ;由count控制循环执行的次数
countSETA count+1 ;将循环计数变量加1
… ;代码
WEND