5.1 Forward References in Macro Expressions
Like Masm, JWasm usually evaluates expressions in preprocessor directives
during the first pass only. However, due to different jump optimization
strategies of Masm and JWasm, the results may differ. This is very
unlikely to impose a problem, but it is mentioned here for completeness.
An example (found in README.TXT of Masm v6.14):
Label1:
JMP Label2
Label2:
REPEAT Label2 - Label1
INC AX
ENDM
Masm will - incorrectly - repeat the loop 10 times, although the result
of expression Label2 - Label1 is 2 only. OTOH, JWasm will repeat the
loop 2 times only, because it's using an "optimistic" strategy concerning
forward references.