Date: Fri, 20 Sep 1996 08:56:25 +0000 From: Bill Currie Subject: Re: Porting from Watcom to DJGPP To: MIKAEL BACKMAN Cc: djgpp AT delorie DOT com Message-id: <32425C39.570D@blackmagic.tait.co.nz> Organization: Tait Electronics NZ MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit References: MIKAEL BACKMAN wrote: > > Hello. > > I heard that DJGPP would produce faster code than Watcom, so I'm trying to > port my Watcom sources to DJGPP. I've encountered a few problems with > this. > > ---------------- > > 1. When using Watcom I declared my interrupt routines as follows : > > void (__interrupt __far __cdecl Introutine)() > > This won't work with DJGPP, I get a parse error from the compiler. > > *** How do I overcome this problem ? Your best bet is to check the FAQ, your problem is covered in all its gory details. I don't know the section number but I'm sure Eli will give it to you. > ------------------ > > 2. In Watcom I used pragmas for inline assembly functions. > > #pragma aux func = \ > "shl eax,1" \ > parm caller [eax] \ > value [eax]; > > Doesn't really do much... Just an example. > > * parm caller [eax] show where to put the input parameter. > * value [eax] shows where it will be returned. > > *** How do I declare the in & out parameters in DJGPP's assembler AS? The above would become: asm("shll $1,%0" : "=a"(value):"0"(param)); see the gcc info documentation for more details ('info gcc "c ex" ex' will get you to the extended asm section)