Figure 1: MASM 6.0 contains decision and loop directives (in this case, an .IF/.ELSE loop) that are translated to their corresponding instructions at assembly time.
.IF ax < mem_word1
mov mem_word2, 2
.ELSE
mov mem_word2, 3
.ENDIF
The above code is translated to the following:
cmp ax, mem_word1
jnb @C0001
mov mem_word2, 2
jmp @C0003
@C0001:
mov mem_word2, 3
@C0003:
Figure 2. MASM 6.0 automatically generates a jump fixup when there is a jump out of range. Notice this example that the generated code is five bytes long instead of two.