Assembly Language Help (alang.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
SETIF2:{TRUE│FALSE} Option
◄Up► ◄Contents► ◄Index► ◄Back►
────────────────────────────────────────────────────────────────────────────
Syntax: SETIF2:{TRUE│FALSE}
See also: MASM 5.1 Compatibility
Description:
By default, MASM 6.1 does not recognize pass-dependent constructs.
Unlike version 5.1, MASM 6.1 does most of its work on its first pass,
then performs as many subsequent passes as necessary. In contrast,
MASM 5.1 always assembles in two source passes.
Both the OPTION M510 and OPTION SETIF2 statements force MASM 6.1 to
handle MASM 5.1 constructs that activate on the second assembly pass,
such as .ERR2, IF2, and ELSEIF2.
To assure compatibility, MASM 6.1 supports 5.1 directives referring to
two passes. These include .ERR1, .ERR2, IF1, IF2, ELSEIF1, and ELSEIF2.
For second pass constructs, you must specify OPTION SETIF2. Without
OPTION SETIF2, the IF2 and .ERR2 directives cause error A2061
When set to TRUE, OPTION SETIF2 forces all second-pass constructs
to activate on every assembly pass. When set to FALSE, second-pass
constructs do not activate on any pass. OPTION M510 implies
OPTION SETIF2:TRUE.
MASM 6.1 handles first-pass constructs differently. It treats the .ERR1
directive as .ERR, and the IF1 directive as IF.
-♦-