Microsoft KB Archive/35883

= FIX: Public Labels Are Prefixed with Underscore Incorrectly =

Article ID: 35883

Article Last Modified on 10/29/2003

-

APPLIES TO


 * Microsoft Macro Assembler 5.1 Standard Edition

-



This article was previously published under Q35883



SYMPTOMS
If you assemble the following program with MASM version 5.1 and examine the public label, TheProc, you will find an underscore prefixed to it. Another symptom of the problem may occurs during link time. The linker will generate the error L2029 unresolved external on public labels.



CAUSE
The space before the comma in the structure initialization of Data1 causes the problem to occur.



RESOLUTION
Removing the space before the comma in the structure initialization of Data1 will allow you to work around the problem.



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

Sample Code
; Assemble options needed: none

StrucType STRUC Label1 DB &quot;LPT&quot; Label2 DB &quot;   &quot; StrucType ENDS

_DATA SEGMENT Data1  StrucType <, &quot;1&quot;> _DATA ENDS

_TEXT SEGMENT ASSUME CS:_TEXT, DS:_DATA PUBLIC TheProc

TheProc PROC NEAR mov ax, 4C00h int 21h TheProc ENDP _TEXT ENDS

END

Additional query words: 5.10 buglist5.10 fixlist5.10a

Keywords: kbfix KB35883

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.