FIX: Alignment in Nested Structures Incorrect in MASM 6

ID: Q77945


The information in this article applies to:
  • Microsoft Macro Assembler for MS-DOS and OS/2, version 6.0


SYMPTOMS

The Microsoft Macro Assembler (MASM) version 6.0 does not pad aligned nested structures correctly. The list file shown below illustrates this problem.


RESOLUTION

Manually padding the structure definition to force the nested structure to have the correct alignment will work around this problem.


STATUS

Microsoft has confirmed this to be a problem in MASM version 6.0. This problem was corrected in MASM version 6.0a.


MORE INFORMATION

The following code can be used to demonstrate the problem.

Sample Code


; Assemble options needed: /c /Fl

.MODEL small, C

.DATA
struct1 STRUCT 2          ; Alignment value is 2
    field1 WORD ?           ; Offset is 0
    field2 BYTE ?           ; Offset is 2
struct1 ENDS

struct2 STRUCT 2          ; Alignment value is 2
    field3 BYTE ?           ; Offset is 0
    nested struct1 <?, ?>   ; Offset is 1, should
struct2 ENDS              ;   be padded to 2

END 

Additional query words: 6.00 buglist6.00 fixlist6.00a

Keywords :
Version : MS-DOS:6.0
Platform : MS-DOS
Issue type :


Last Reviewed: January 5, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.