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.