Fix-Up Overflow Caused By Extrn Statements and .FardataLast reviewed: September 11, 1997Article ID: Q30576 |
5.10
MS-DOS
kbtool
The information in this article applies to:
SUMMARYThe following assembler modules produce a fix-up overflow error message during linking. When linking these two modules together, the .fardata-simplified segment directive will cause a link-error fix-up overflow. Every module with a .fardata segment is defining a different .fardata segment. The linker will keep the segments separate. Therefore, declaring the fvar variable external in module 2 generates the problem. The extrn far data item, fvar, should be declared outside the .fardata segment.
MORE INFORMATIONModule 1 .model large .stack .data public gvar .fardata public fvar fvar db 55h .code extrn t2:proc start: mov ax,@DATA mov ds,ax mov ax,@FARDATA mov es,ax call dword ptr t2end start Module 2 .model large .data extrn gvar:byte .fardata extrn fvar:byte .code public t2 t2 proc far mov bl, es:fvar ret FARt2 endp end |
Additional reference words: 5.10
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |