Article View: comp.sys.ibm.pc
Article #26111Re: DOS Interrupts 1Eh and 2Eh
From: Ogilvie Robert Paul
Date: Thu, 31 Mar 1988 12:17
Date: Thu, 31 Mar 1988 12:17
27 lines
1466 bytes
1466 bytes
The best way to see if the modules "find" each other is by inspecting the load map (use /M with link). The later Microsoft linkers also use upper/lowercase. Things to look out for are: * identifier length don't match. Result is different identifiers (12 chars normal in object-files, 8 chars in 'C'-object modules) Thus truncate your identifiers. * Upper and lower case mismatch. Result: different identifiers. Use commandline switches for the linker, or edit your names. * See if C prepends underscores to names, and if then names are 8 or 9 chars. Methodes to check: * link each module separately and suppress library search (switch). The list of "unresolved externals" also shows the exact names expected. * link & study the load map (link/M). By the way, check the segments and their naming-conventions. General C-segment names are TEXT, DATA and BSS plus a STACK (is normally high end of BSS: addr 0= DATA, then BSS (unint'd data), then heap between BSS and stack, then stack (grows down to heap). Good luck, Paul Ogilvie.
Technical Details
Message-ID:
<971@tjalk.cs.vu.nl>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!mcvax!botter!tjalk!ogilvieShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!mcvax!botter!tjalk!ogilvie From: ogilvie@cs.vu.nl (Ogilvie Robert Paul) Newsgroups: comp.sys.ibm.pc Subject: Re: DOS Interrupts 1Eh and 2Eh Message-ID: <971@tjalk.cs.vu.nl> Date: 31 Mar 88 12:17:19 GMT Reply-To: ogilvie@cs.vu.nl (Ogilvie Robert Paul) Organization: VU Informatica, Amsterdam Lines: 27 Keywords: ASM, C, symbols Summary: ASM interfacing to C