Microsoft KB Archive/23579

Structure Field Not Corrected by the Linker ID Number: Q23579

1.25 1.27 3.0x 4.00 5.00 MS-DOS

Problem:

The field in a structure is not fixed up by the linker in the following example:

EXTERN proc_1 : far

proc_entry STRUC proc_addr DD 00H proc_entry ENDS

jump SEGMENT jmp_tbl LABEL dword


 * The assembler translates the following ;instruction as 00 20 20 20, instead of ;letting the linker fix the address

proc_entry 

jump ENDS END

This behavior differs from Version 3.01.

Response:

The DD, DW, or DF reference to an address in a structure must be left uninitialized by giving a value of “?” within the structure. This procedure causes the address to be corrected by the linker; otherwise, the assembler will initialize the variable with the given value.