Microsoft KB Archive/35113

= FIX: Nested Dups in Structure Cause Recursive Loop =

Article ID: 35113

Article Last Modified on 10/22/2003

-

APPLIES TO


 * Microsoft Macro Assembler 5.0
 * Microsoft Macro Assembler 5.1 Standard Edition
 * Microsoft Macro Assembler 5.1a

-



This article was previously published under Q35113



SYMPTOMS
The following code uses nested DUP operators in the initialization of an array of structures. The Microsoft Macro Assembler (MASM) version 5.0, 5.1, and 5.1a will generate a stack overflow.



CAUSE
MASM goes into a recursive loop at the calculation of the size.



RESOLUTION
You can work around this problem by initializing each of the structures instead of using a nested DUP operator. The example below demonstrates this work around.



STATUS
Microsoft has confirmed this to be a problem in MASM versions 5.0, 5.1, and 5.1a. This problem was corrected in MASM version 6.0.



Sample Code
; Assemble options needed: none

a_struc STRUC a DW ? a_struc ENDS

_DATA SEGMENT 'DATA' a_var a_struc 4 DUP (<1>, 3 DUP (<0>)) b_var a_struc 4 DUP (<1>, <0>, <0>, <0>) _DATA ENDS

END

Additional query words: 5.00 5.10 5.10a buglist5.00 buglist5.10 buglist5.10a fixlist6.00

Keywords: kbfix KB35113

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.