这是重复汇编某一语句序列的伪指令,它可以出现在宏定义中,也可以单独出现在源程序中,注意,重复汇编是在程序汇编期间对某些语句进行重复汇编,而不是在程序运行期执行重复操作。重复汇编伪指令有以下3种形式:
(1)格式1
REPT<表达式>
┆ ;需重复的语句组
ENDM
这种宏指令用于重复块次数确定的伪操作,它表示按表达式所指定的次数,重复REPT和ENDM之间的语句块,表达式的取值范围是0~65535。
(2)格式2
IRP<形式参数>,<实在参数1,实在参数2,……>
┆ ;需重复的语句组
ENDM
这种宏指令用于带立即数的重复伪操作。实在参数是用户指定的立即数,它的个数就是重复次数,每重复一次,就用一个实在参数替代形式参数。
(3)格式3
IRPC形式参数,<字符串>
┆ ;需重复的语句组
ENDM
这种宏指令用于带字符串的重复伪操作,重复次数由字符串的个数确定,每次重复,依次用字符串中的一个字符替代形式参数,直到字符替代完毕为止。
4.条件汇编伪指令
80x86宏汇编提供了条件汇编功能和条件汇编伪指令,如下表所示。
条件汇编伪指令
IFNB<参量>
格 式 功 能
IF(表达式) 若表达式值不为0,则条件为真
IFE(表达式) 若条件表达式值为0,则条件为真
IF1 当汇编程序处在对源程序进行第一次扫描过程时,条件为真
IF2 当汇编程序处在对源程序进行第二次扫描过程时,条件为真
IFDEF<符号> 若指定符号已被定义或由EXTRN指令进行外部说明,则条件为真
IFNDEF<符号> 若指定符号未定义或未由EXTRN指令进行外部说明,则条件为真
IFB<参量> 若参量为空格,则条件为真
B<参量> 参量不是空格时,条件为真
IFIDN<参量1>,<参量2> 当参量1的串与参量2的串相同时,条件为真
IFIDF<参量1>,<参量2> 当参量1的串与参量2的串不同时,条件为真
各种条件汇编语句用法的一般格式为:
IF ×× ARGUMENT
<语句体1>
[ELSE] (任选)
<语句体2>
ENDIF
其中,IF××是条件伪指令,××用于区别不同种类的条件伪指令