KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q120066: BUG: ML Uses DGROUP in Flat Model and Generates A2006

Article: Q120066
Product(s): Microsoft Macro Assembler
Version(s): 6.11
Operating System(s): 
Keyword(s): 
Last Modified: 04-MAY-2001

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Macro Assembler (MASM), version 6.11 
-------------------------------------------------------------------------------

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.

Additional query words: 6.11 buglist6.11

======================================================================
Keywords          :  
Technology        : kbMASMsearch kbAudDeveloper kbMASM611
Version           : :6.11

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.