FIX: Public Labels Are Prefixed with Underscore Incorrectly (35883)
The information in this article applies to:
- Microsoft Macro Assembler (MASM) 5.1
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 "LPT"
Label2 DB " "
StrucType ENDS
_DATA SEGMENT
Data1 StrucType < , "1">
_DATA ENDS
_TEXT SEGMENT
ASSUME CS:_TEXT, DS:_DATA
PUBLIC TheProc
TheProc PROC NEAR
mov ax, 4C00h
int 21h
TheProc ENDP
_TEXT ENDS
END
Modification Type: | Minor | Last Reviewed: | 10/29/2003 |
---|
Keywords: | kbfix KB35883 |
---|
|