[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Intel Assembly error



Hi;

I ran into a compiler error that I do not recognize.  Instead of
spinning my wheels further with this, I was hoping someone familiar
with Intel assembly language on this list could shed some light on
what is happening here.  As can be seen from the comments, it is
an ancient line that was lifted from the kernel.  For this reason
I am including the output from gcc -v.

gcc -o 6x86_reg 6x86_reg.c
6x86_reg.c: In function `delay':
6x86_reg.c:86: Invalid `asm' statement:
6x86_reg.c:86: fixed or forbidden register 0 (ax) was spilled for class
AREG.

--- routine in the C source file ---
/* the original bogomips code from the Linux kernel */
static __inline__ void delay(int loops)
{
  __asm__(".align 2,0x90\n1:\tdecl %0\n\tjns 1b": :"a" (loops):"ax");
}

--- output from my woody system ---
gcc -v
Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.2/specs
gcc version 2.95.2 20000220 (Debian GNU/Linux)


Thanks in advance.

-- 
Richard A. Hecker

"if it isn't source, it isn't software"
brought to you courtesy of NASA



Reply to: