Segment Combine Type AT with Equate Variable Causes Problem

ID Number: Q34937

5.10

MS-DOS

buglist5.10

Summary:

The sample code below demonstrates a problem with the equate directive

and the segment combine type AT.

The segment bios_seg incorrectly evaluates to 0 in the mov

instruction. If the equate statement is located before the bios-seg

segment definition, the segment bios_seg correctly evaluates to 40h.

Microsoft has confirmed this to be a problem in Version 5.10. We are

researching this problem and will post new information as it becomes

available.

More Information:

The following is a sample code:

code segment public 'code'

assume cs:code

bios_seg segment at BIOS

bios_seg ends

BIOS equ 40h

start:

mov ax,bios_seg

code ends

end start