FIX: Structure References Using '.' Cause Confusion (30379)



The information in this article applies to:

  • Microsoft Macro Assembler (MASM) 5.1
  • Microsoft Macro Assembler (MASM) 5.1a

This article was previously published under Q30379

SYMPTOMS

Variable names in the assembler can begin with the following character:
   '.'
				
Structure references use the character '.' as an add operator. This means the label '.cat' is different than the element 'cat' in a structure. The assembler can become confused distinguishing the two uses in a program, and can generate the following error message:
Error A2028: Operator expected' occurs on 'mov ax,duck.cat'

STATUS

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

MORE INFORMATION

Sample Code

       .MODEL SMALL
   mouse  struc
   cat     dw   1
   dog     dw   2
   mouse  ends
       .DATA
   duck    mouse  <>
       .CODE
   start:  mov  ax,@data
           mov  ds,ax
   .cat    dw   4
           mov  ax,duck.cat
    END start
				

Modification Type:MajorLast Reviewed:10/20/2003
Keywords:kbfix KB30379