Microsoft KB Archive/23577

Size of Extrn Variable Does Not Generate a Constant ID Number: Q23577

4.00 MS-DOS buglist4.00 fixlist5.00

Problem:

The size of extrn variable does not generate a constant. MASM marks size operators on extrn symbols as external; during load, the immediate value is relocated.

In the following example, during run time, CX contains 4 plus the base address of sym:

extrn    sym:dword CODE SEGMENT BYTE PUBLIC ‘CODE’ mov cx,4 ; marked correct mov cx,size sym ; marked external CODE ENDS end

Response:

Microsoft has confirmed this to be a problem in Version 4.00 of the Macro Assembler. This problem was corrected in Version 5.00.