IF1 e IF2
O bloco IF1 é avaliado no primeiro passo do assembly.
O bloco IF2 será avaliado em todos os passos do assembly se OPTION:SETIF2 for TRUE.
Sintaxe
IF1;;
IF2;;
Comentários
Confira IF para obter a sintaxe completa.
Ao contrário da versão 5.1, o MASM 6.1 e posterior fazem a maior parte do trabalho no primeiro passo e, em seguida, executam quantos passos subsequentes forem necessários. Por outro lado, o MASM 5.1 sempre é montado em dois passos de origem. Como resultado, talvez seja necessário revisar ou excluir alguns constructos dependentes de passos no MASM 6.1 e posterior.
Diretivas em dois passos
Para garantir a compatibilidade, o MASM 6.1 e posterior dão suporte a diretivas 5.1 que fazem referência a dois passos. Elas incluem .ERR1, .ERR2, IF1, IF2, ELSEIF1 e ELSEIF2. Para constructos de segundo passo, você deve especificar OPTION SETIF2. Sem OPTION SETIF2, as diretivas IF2 e .ERR2 causam um erro:
.ERR2 not allowed : single-pass assembler
O MASM 6.1 e posterior lidam com constructos de primeiro passo de forma diferente. Ele trata a diretiva .ERR1 como .ERR e a diretiva IF1 como IF.