Mail Archives: djgpp/1998/01/26/02:29:14
At 09:13 1/25/1998 GMT, d-range! wrote:
>Heya,
>
>I recently decided to switch from WATCOM to DJGPP, to make my code more
>portable, but I ran into the following 'problem' making the code compilable
>under DJGPP:
[snipped]
>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;
}
Incidentally, since your operands are `int', `FixSHR(a,b)' has the same
effect as `a >> b'.
Nate Eldredge
eldredge AT ap DOT net
- Raw text -