FIX: Only First LOCAL Variable Generates CodeView Information

Last reviewed: September 11, 1997
Article ID: Q30416
5.10 MS-DOS kbtool kbfixlist kbbuglist

The information in this article applies to:

  • Microsoft Macro Assembler for MS-DOS, version 5.1

SYMPTOMS

In the Microsoft Macro Assembler (MASM) version 5.1, only the first LOCAL variable on a line generates CodeView information. Attempting to put a watch on a LOCAL variable that is not the first LOCAL variable on a line will cause Codeview to display the following message box:

              --------------------------------
             |              ERROR             |
             |         Unknown Symbol         |
             |  Press Any Key to Continue...  |
              --------------------------------

RESOLUTION

To avoid the problem in MASM version 5.1, break up any lines that define more than one LOCAL variable into multiple lines.

STATUS

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

MORE INFORMATION

The following sample code can be used to demonstrate the problem:

Sample Code

; Assemble options needed: /Zi
; Link options needed:     /CO

    .MODEL small, C    ; A Language specifier is required when using
                       ; the LOCAL directive in MASM 5.1, 5.1A and
                       ; when using QuickAssembler 2.01 and 2.51.
                       ; MASM 6.0 does not require this.

    .CODE

Start:

    call  procedure    ; Call the procedure
    mov   ax, 4C00h    ; Exit
    int   21h


    procedure proc

    local     first:word
    local     second:word,third:word

    ; To avoid the problem in MASM 5.1, break the preceding line up
    ; into multiple lines:
    ;
    ; local      second:word
    ; local      third:word

    ret

    procedure endp

    .STACK

    END Start


Additional reference words: 5.10 5.10a buglist5.10 fixlist5.10a
KBCategory: kbtool kbfixlist kbbuglist
KBSubCategory: MLIss
Solution Type : kbfix


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.

Last reviewed: September 11, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.