The information in this article applies to:
SYMPTOMSA STRUCT declaration containing an ORG directive will change the current segment size when the -Sf switch is used and a listing file is produced with MASM 6.x. CAUSEWhen adding a first-pass listing (the -Sf switch) to the listing file, MASM's internal location counter is affected when the ORG directive is encountered within a STRUCT declaration. This location counter is ultimately used to determine segment size. RESOLUTIONWhen declaring a STRUCT that contains an ORG directive, place the declaration outside of any open segments. Because this is a structure declaration rather than an actual instance, the structure does not have to be within a segment and can be placed outside all open segments where the location counter will not be adversely affected. STATUSMicrosoft has confirmed this to be a problem in the Microsoft Macro Assembler (MASM) versions 6.x. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. MORE INFORMATION
The following sample code illustrates this problem. When the structure is
declared within the open data segment, the size of the data segment is
increased. This can be viewed in the map file for the sample, as well as in
the listing file. Move the structure declaration before the .DATA and
.STACK directives to obtain the expected behavior.
Q111474 PRB: Usage of an ORG Directive in a STRUCT Declaration Sample Code
Additional query words: 6.00 6.00a 6.00b 6.10 6.10a 6.11 6.1x buglist6.10 buglist6.10a buglist6.11 buglist6.00 buglist6.00a buglist6.00b
Keywords : |
Last Reviewed: January 7, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |