BUG: Invalid A2006 Error Generated by MASM 6.x (107500)
The information in this article applies to:
- Microsoft Macro Assembler (MASM) 6.0
- Microsoft Macro Assembler (MASM) 6.0a
- Microsoft Macro Assembler (MASM) 6.0b
- Microsoft Macro Assembler (MASM) 6.1
- Microsoft Macro Assembler (MASM) 6.1a
- Microsoft Macro Assembler (MASM) 6.11
This article was previously published under Q107500 SYMPTOMS
When you attempt to assemble the sample code below, the Microsoft Macro
Assembler (MASM) fails and reports the following error for the two lines
with "mov" instructions:
error A2006: undefined symbol
RESOLUTION
To work around the problem, do one of the following,
- Simplify the expression. If you uncomment the lines in the sample code,
and delete the original instructions, the code will assemble without
errors.
-or-
- Assemble with the /Zm option (or run MASM.EXE instead of ML.EXE).
-or-
- Use the OPTION OLDSTRUCTS directive to have the assembler treat
structure members the same as in MASM 5.1.
STATUS
Microsoft has confirmed this to be a problem in MASM versions 6.0x, 6.1,
6.1a, and 6.11. We are researching this problem and will post new
information here in the Microsoft Knowledge Base as it becomes available.
Sample Code
; Assemble options needed: none
.MODEL small
STEST STRUCT
f1 BYTE ?
f2 BYTE ?
STEST ENDS
.CODE
mov al, SIZEOF STEST.f1 + SIZEOF STEST.f2
mov al, LENGTHOF STEST.f1 + LENGTHOF STEST.f2
;
; Uncomment the lines below and delete the two lines above to avoid
; the A2006 error
;
; temp = SIZEOF STEST.f1
; mov al, temp + SIZEOF STEST.f2
; temp = LENGTHOF STEST.f1
; mov al, temp + LENGTHOF STEST.f2
END
Modification Type: | Minor | Last Reviewed: | 10/14/2003 |
---|
Keywords: | KB107500 |
---|
|