[comp.sys.ibm.pc] Mixed language programming question. Help please!

parora@gpu.utcs.toronto.edu (Pavneet Arora) (06/02/88)

Hi,

  I have been trying my hand at mixed language programming using MASM 5.1 and
Quick C 1.0, and have been having some problems which I hope that people
on the net can help me with.  

  I wrote a simple assembler routine which takes an EGA card into 35 line
mode.  I know this works because I have a standalone assembler routine which
uses this.  I have also been careful to use uSoft's default segment short
forms; used the medium memory model; preceded my assembler routine name
with '_'; and used the C parameter passing conventions as described in the
documentation.

  I did deviate from the documentation in that I did not use the /MX or /ML
switches when assembling the routine.  BUT, after I had written the 
C mainline (just a single call to the assembler routine) I went into the
make file and took out the '/NOI' switch in the link statement and ran make.
It came back with external references not resolved.  I thought that taking
the '/NOI' switch off should ignore case and make the link work.  What is
more confusing is that if I go into the QuickC environment and do a build
with an existing .obj, the link works. 

  Could someone please tell me what I am doing wrong?  Does the same problem
exist in MS-C 5.x.  

PS.  Yes, I could have used the /MX, /ML switches and everything would work,
but I was trying to simulate a case of an external runtime library where it
is unknown whether or not the library was compilied using these switches.
In this case I would have thought that removing the '/NOI' switch would be
a good way of doing it.

adTHANKSvance

pavneet arora
parora@utgpu.