PRB: SEGMENT AT Does Not Initialize Data at Absolute Address (92609)
The information in this article applies to:
- Microsoft Macro Assembler (MASM) 5.0
- Microsoft Macro Assembler (MASM) 5.1
- Microsoft Macro Assembler (MASM) 5.1a
- Microsoft Macro Assembler (MASM) 6.0
- Microsoft Macro Assembler (MASM) 6.0a
- Microsoft Macro Assembler (MASM) 6.0b
This article was previously published under Q92609 SYMPTOMS
When the SEGMENT directive is used with the AT combine type to place code
or initialized data at an absolute address, the generated executable file
does not initialize the segment at the specified absolute address. MASM
versions 5.0, 5.1, and 5.1a do not generate any error or warning messages.
MASM versions 6.0, 6.0a, and 6.0b generate the following warning message:
A4014: instructions and initialized data not supported in AT
CAUSE
This warning is expected and caused by the design of the Microsoft Linker.
The Microsoft Linker (LINK), distributed with Microsoft programming
languages, is designed to generate relocatable programs to run with MS-DOS,
Microsoft Windows, or OS/2. LINK does not generate code or data at absolute
addresses. MASM versions 6.0, 6.0a, and 6.0b generate a warning message
because LINK does not support SEGMENT AT in this manner.
RESOLUTION
Link and locate tools that generate absolute addresses are available from
third-party vendors.
Modification Type: | Major | Last Reviewed: | 10/20/2003 |
---|
Keywords: | KB92609 |
---|
|