ID Number: Q30377
5.10 5.10a
MS-DOS
buglist5.10 buglist5.10a fixlist6.00
Summary:
The code given below generates the following error message:
A2051: Operand not in current CS ASSUME segment
The error is caused by the JE NEAR PTR statement. However, the first
jump statement assembles without error. Both statements should or
should not assemble as they generate full 16-bit fixup records.
More Information:
Microsoft has confirmed this to be a problem in Microsoft Macro
Assembler (MASM) version 5.1 and 5.1a. This problem was corrected in
MASM version 6.0.
You can work around this problem by not using the PTR operator in the
JE instruction.
The following code demonstrates the problem:
.386
PGROUP group CODE,NCODE
CODE segment use16 byte public 'prog'
assume cs:PGROUP
jmp SYM
je near ptr SYM
CODE ends
NCODE segment use16 byte public 'prog'
assume cs:PGROUP
SYM:
NCODE ends
end
Additional reference words: 5.10 5.10a 6.00