IF1 和 IF2

在第一个程序集传递上评估 IF1 块。

如果 OPTION:SETIF2TRUE,则传递每个程序集时都会计算 IF2 块。

语法

IF1;;

IF2;;

备注

有关完整语法,请参阅 IF

与版本 5.1 不同,MASM 6.1 及更高版本对其第一次传递执行大部分工作,然后根据需要执行尽可能多的后续传递。 相比之下,MASM 5.1 始终在两个源传递中汇编。 因此,可能需要在 MASM 6.1 及更高版本下修改或删除一些依赖传递的构造。

Two-Pass 指令

为了确保兼容性,MASM 6.1 及更高版本支持引用两个传递的 5.1 指令。 其中包括 .ERR1.ERR2IF1IF2ELSEIF1ELSEIF2。 对于第二次传递构造,必须指定 OPTION SETIF2。 如果没有 OPTION SETIF2,则 IF2.ERR2 指令会导致错误:

.ERR2 not allowed : single-pass assembler

MASM 6.1 及更高版本以不同的方式处理第一次传递构造。 它将 .ERR1 指令视为 .ERR,将 IF1 指令视为 IF

另请参阅

指令参考
MASM BNF 语法