BUG: ML Uses DGROUP in Flat Model and Generates A2006 (120066)



The information in this article applies to:

  • Microsoft Macro Assembler (MASM) 6.11

This article was previously published under Q120066

SYMPTOMS

The assembler uses the DGROUP symbol to load the DS register with a data segment value in the prolog code, even in a flat-model program. This causes the assembler to generate "error A2006: Undefined symbol: DGROUP" because groups are not supported in flat-model code.

This behavior is demonstrated through the following procedure definition and generated prolog code, both from the listing file:
   MyProc   proc <loadds> word_val:WORD

   ;   push    bp
   ;   mov     bp, sp
   ;   push    ds
   ;   mov     ax, DGROUP
   ;   mov     ds, ax

       ret
   MyProc   endp
				

RESOLUTION

To work around the problem, take out the <loadds> when building in flat model.

STATUS

Microsoft has confirmed this to be a bug in MASM version 6.11. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Modification Type:MinorLast Reviewed:2/11/2004
Keywords:KB120066