Article ID: 94751 - Last Review: October 22, 2003 - Revision: 2.0 FIX: ORG Behavior Different with Span-Dependent Value
This article was previously published under Q94751 On This PageSYMPTOMS
In Microsoft Macro Assembler (MASM) versions 6.0, 6.0a, and 6.0b, if the
offset for an ORG directive depends on the difference between two labels
(a span-dependent value), the assembled code differs from that produces by
previous versions of MASM.
CAUSE
The offset for the ORG directive depends on label values that are not yet
determined in the first assembly pass.
RESOLUTION
Modify the code to remove span-dependent values in an ORG directive in code
assembled with MASM versions 6.0, 6.0a, or 6.0b.
STATUS
Microsoft has confirmed this to be a problem in MASM version 6.0, 6.0a,
and 6.0b for MS-DOS and OS/2. This problem was corrected in MASM version
6.1 for MS-DOS.
MORE INFORMATION
This problem usually occurs when a forward reference occurs between the two
labels. The assembler adds padding bytes for the forward reference and
eliminates these bytes during a subsequent assembly pass. When this occurs,
the second label has a larger value during the first assembly pass than it
does in subsequent passes.
The sample code below demonstrates this behavior. Sample CodeAPPLIES TO
| Other Resources Other Support Sites
CommunityArticle Translations |






















Back to the top