Mail Archives: djgpp/1998/01/26/16:45:40
Nate Eldredge wrote:
> >My question: how can I make inline functions like this one to work with
> >DJGPP. I read the DJGPP assembler tutorial, and I know you can #define the
> >function like this,
> >
> >#define FixSHR(arg1,arg2,arg3) __asm__ \
> > "sarl %1,%0" \
> > : "=r" (arg3) \
> > : "0" (arg1), "1" (arg2) \
> > : "0";
> Try this:
> inline int FixSHR(int n, unsigned c)
> {
> int result;
> asm ("sarl %2,%0"
> : "=g" (result)
> : "0" (n), "cI" (c));
> return result;
> }
Does this produce *inline* assembly? It looks like if the compiler makes a CALL
for every invocation.
> Incidentally, since your operands are `int', `FixSHR(a,b)' has the same
> effect as `a >> b'.
Ah... WATCOM always does SHR instead of SAR
d-range! d-range AT thefridge DOT et DOT fnt DOT hvu DOT nl
- Raw text -