🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc
Article #26111

Re: DOS Interrupts 1Eh and 2Eh

#26111
From: Ogilvie Robert Paul
Date: Thu, 31 Mar 1988 12:17
27 lines
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!ogilvie

Show 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