汇编语言条件控制流伪指令


32 位模式下,MASM 包含了一些高级条件控制流伪指令(conditional control flow directives),这有助于简化编写条件语句。遗憾的是,这些伪指令不能用于 64 位模式。

对程序进行汇编之前,汇编器执行的是预处理步骤。在这个步骤中,汇编器要识别伪指令,如:.CODE、.DATA,以及一些用于条件控制流的伪指令。下表列出了这些伪指令。

伪指令 说明
.BREAK 生成代码终止 .WHILE 或 .REPEAT 块
.CONTINUE 生成代码跳转到 .WHILE 或 .REPEAT 块的顶端 
.ELSE 当 .IF 条件不满足时,开始执行的语句块
.ELSEIF condition 生成代码测试 condition,并执行其后的语句,直到碰到一个 .ENDIF 或另一个 .ELSEIF 伪指令
.ENDIF 终止 .IF、.ELSE 或 .ELSEIF 伪指令后面的语句块
.ENDW 终止 .WHILE 伪指令后面的语句块 
.IF condition 如果 condition 为真,则生成代码执行语句块
.REPEAT 生成代码重复执行语句块,直到条件为真
.UNTIL condition 生成代码重复执行 .REPEAT 和 .UNTIL 伪指令之间的语句块,直到 condition 为真
.UNTILCXZ 生成代码重复执行 .REPEAT 和 .UNTILCXZ 伪指令之间的语句块,直到 CX 为零
.WHILE condition 当 condition 为真时,生成代码执行 .WHILE 和 .ENDW 伪指令之间的语句块