IF1 e IF2
Il blocco IF1 viene valutato al primo passaggio dell'assembly.
Se OPTION:SETIF2 è TRUE, il blocco IF2 viene valutato in ogni passaggio di assembly.
Sintassi
IF1;;
IF2;;
Osservazioni:
Vedere IF per la sintassi completa.
A differenza della versione 5.1, MASM 6.1 e versioni successive eseguono la maggior parte del suo lavoro al primo passaggio, quindi esegue il maggior numero di passaggi successivi necessari. Al contrario, MASM 5.1 assembla sempre in due passaggi di origine. Di conseguenza, potrebbe essere necessario rivedere o eliminare alcuni costrutti dipendenti dal passaggio in MASM 6.1 e versioni successive.
Direttive a due passaggi
Per garantire la compatibilità, MASM 6.1 e versioni successive supportano le direttive 5.1 che fanno riferimento a due passaggi. Questi includono . ERR1, . ERR2, IF1, IF2, ELSEIF1 e ELSEIF2. Per i costrutti di secondo passaggio, è necessario specificare OPTION SETIF2. Senza OPTION SETIF2, IF2 e . Le direttive ERR2 causano un errore:
.ERR2 not allowed : single-pass assembler
MASM 6.1 e versioni successive gestiscono costrutti first-pass in modo diverso. Tratta l'oggetto . Direttiva ERR1 come . ERR e la direttiva IF1 come IF.