Cross gcc Mailing List Archive
[Next][Index][Thread]
68040 inline asm code problems
Hello,
I'm having a problem either in compiling or undestanding the
gcc compiler. I'm running a 68k-rtems cross for my RTEMS project
which works well. However, in adding some bus error handlers that
I got from the HIDEOS MVME162 project, I ran into problems getting
them to compile. Here is an example:
IRQHANDLER* SysGetVbr()
{
unsigned long x;
asm volatile ("movec vbr,%0" : "=g" (x) );
return (IRQHANDLER*)x;
}
/**************************** access exception ************************/
asm (" .text");
asm ("_irq_access:");
/* Save context */
asm ("moveml #0xfffe,sp@-"); /* Save regs */
asm ("movel sp@(62),a2 "); /* this is pc */
asm ("addql #2,sp@(62)"); /* pc+x to skip illegal instruction */
asm ("movl #1,_int_occurred");
asm ("moveml sp@+,#0x7fff");
asm ("rte");
compiled with "m68k-rtems-gcc -c"
produces this:
/tmp/cca14729.s: Assembler messages:
/tmp/cca14729.s:10: Error: operands mismatch -- statement `movec vbr,-4(%a6)' ignored
/tmp/cca14729.s:20: Error: parse error -- statement `moveml #0xfffe,sp@-' ignored
/tmp/cca14729.s:21: Error: parse error -- statement `movel sp@(62),a2' ignored
/tmp/cca14729.s:22: Error: parse error -- statement `addql #2,sp@(62)' ignored
/tmp/cca14729.s:24: Error: parse error -- statement `moveml sp@+,#0x7fff' ignored
Am I missing something in the command line, or in the file itself?
Thanks in advance,
Dean Nelson
Lockheed Martin
Las Vegas, Nv
Follow-Ups:
Home |
Subject Index |
Thread Index