Phase Errors May Be Caused By Forward References (24953)
The information in this article applies to:
- Microsoft Macro Assembler (MASM) 1.25
- Microsoft Macro Assembler (MASM) 1.27
- Microsoft Macro Assembler (MASM) 3.0x
- Microsoft Macro Assembler (MASM) 4.0
- Microsoft Macro Assembler (MASM) 5.0
- Microsoft Macro Assembler (MASM) 5.1
This article was previously published under Q24953 SUMMARY
Phase errors indicate that a relative address of a label changed
between pass 1 and pass 2 of the assembly process. They usually are
caused by improper forward references to labels. During pass 1, the
assembler will have to make assumptions (e.g. it might assume a near
jump during pass 1 if the location of a label is not known). During
pass 2, the assembler may have to change those assumptions (e.g. now
it knows that the jump is to a far label). If this involves changing
the size of an instruction, that difference can cause a phase error.
To examine the assumptions made by the assembler on pass 1, use the
/D option to get a pass 1 listing.
Modification Type: | Major | Last Reviewed: | 10/17/2003 |
---|
Keywords: | KB24953 |
---|
|