FIX: A2006: Phase Error May Be Caused By Incorrect NOP (59754)
The information in this article applies to:
- Microsoft Macro Assembler (MASM) 5.1
- Microsoft Macro Assembler (MASM) 5.1a
This article was previously published under Q59754 SYMPTOMS
Using the "SEG" directive in conjunction with forward reference to a
procedure or a segment name will produce the error
A2006 : phase error between passes
CAUSE
The assembler incorrectly places a "NOP" instruction in the code generated
during Pass 1. This NOP is not generated in Pass 2, so the assembler
generates a phase error. This phase error will most often happen on the
next instruction that is associated with a fixup.
STATUS
Microsoft has confirmed this to be a problem in MASM versions 5.1 and
5.10a. This problem was fixed in MASM version 6.0.
RESOLUTION
To work around this problem, introduce a NOP that is seen by the assembler
only during the second pass.
Modification Type: | Major | Last Reviewed: | 10/16/2003 |
---|
Keywords: | kbfix KB59754 |
---|
|