很多不同的条件汇编伪指令都可以和宏一起使用,这使得宏更加灵活。条件汇编伪指令常用语法如下所示:
下表列出了更多常用的条件汇编伪指令。若说明为该伪指令允许汇编,就意味着所有的后续语句都将被汇编,直到遇到下一个 ELSE 或 ENDIF 伪指令。必须强调的是,表中列出的伪指令是在汇编时而不是运行时计算。
伪指令 | 说明 |
---|---|
IF expression | 若 expression 为真(非零)则允许汇编。可能的关系运算符为 LT、GT、EQ、NE、LE 和 GE |
IFB<argument> | 若 argument 为空则允许汇编。实参名必须用尖括号(<>)括起来 |
IFNB<argument> | 若 argument 为非空则允许汇编。实参名必须用尖括号(<>)括起来 |
IFIDN<arg1>,<arg2> | 若两个实参相等(相同)则允许汇编。采用区分大小写的比较 |
IFIDNI<arg1 >,<arg2> | 若两个实参相等(相同)则允许汇编。采用不区分大小写的比较 |
IFDIF<arg1 >,<arg2> | 若两个实参不相等则允许汇编。采用区分大小写的比较 |
IFDIFI<arg1>,<arg2> | 若两个实参不相等则允许汇编。采用不区分大小写的比较 |
IFDIF name | 若 name 已定义则允许汇编 |
IFNDEF name | 若 name 还未定义则允许汇编 |
ENDIF | 结束用一个条件汇编伪指令开始的代码块 |
ELSE | 若条件为真,则终止汇编之前的语句。若条件为假,ELSE 汇编语句直到遇到下一个 ENDIF |
ELSEIF expression | 若之前条件伪指令指定的条件为假,而当前表达式为真,则汇编全部语句直到出现 ENDIF |
EXITM | 立即退出宏,阻止所有后续宏语句的展开 |