The information in this article applies to:
SYMPTOMSAttempting to initialize a STRUCT or an array with a single data statement may generate the following error when too many initialization values are used:
CAUSEThe error is produced because the token limit for that particular line has been exceeded. This limit may also be exceeded by lines that are extended using the backslash ("\") character or the comma, as shown in the sample code below. RESOLUTION
Do not attempt to initialize a struct on a single line that contains more
than 99 tokens, commas, numbers, and so forth.
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 INFORMATIONSample CodeIn the sample code below, there are 97 tokens in the line where test_struct0 is declared on a single text line. This line assembles without a problem. The initialization of test_struc1, however, causes error A2042 to be generated. test_struc1 has 99 tokens, which causes the error A2042 to be produced. test_struct2 and test_struct3 are multiple-line demonstrations of the same problem.The array d1 illustrates the same problem for an array of WORD. Array d2 shows a workaround.
Additional query words: 6.00 6.00a 6.00b 6.10 6.10a buglist6.00b buglist6.10 buglist6.10a buglist6.11 h_masm buglist6.00 buglist6.00a
Keywords : |
Last Reviewed: January 4, 2000 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |