三、条件汇编
汇编程序能根据条件把一段源程序包括在汇编语言程序内或者把它排除在外,这里就用到条件伪操作.条件伪操作的一般格式是:
IFXX argument
}自变量满足给定条件汇编此块
[ELSE]
}自变量不满足给定条件汇编此块
ENDIF
自变量必须在汇编程序第一启遍扫视后就成为确定的数值.条件伪操作中的XX表示条件如下:
IF expression 汇编程序求出表达式的值,如此值不为0则满足条件.
IFE expression 如求出表达式的值为0则满足条件.
IFDEF symbol 如符号已在程序中定义,或者已用EXTRN伪操作说明该符号是在外部定义的,则
满足条件.
IFNDEF symbol 如符号未定义或未通过EXTRN说明为外部符号则满足条件.
IFB <argument> 如自变量为空则满足条件
IFNB<argument> 如自变量不为空则满足条件
IFIDN <argu-1>,<argu-2> 如果字符串<arg-1>和字符串<arg-2>相同,则满足条件.
IFDIF <argu-1>,<argu-2> 如果字符串<arg-1>和字符串<arg-2>不相同,则满足条件.
条件伪操作可以用在宏定义体内,也可以用在宏定义体外,也允许嵌套任意次.
例1:宏指令MAX把三个变元中的最大值放在AX中,而且使变元数不同时产生不同的程序段.
宏定义: