Microsoft KB Archive/35113
Article ID: 35113
Article Last Modified on 10/22/2003
- Microsoft Macro Assembler 5.0
- Microsoft Macro Assembler 5.1 Standard Edition
- Microsoft Macro Assembler 5.1a
This article was previously published under Q35113
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.
MASM goes into a recursive loop at the calculation of the size.
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.
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.
; 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