On Sun, Nov 22, 2009 at 10:14 PM, Johnny Hung <johnny.hacking@xxxxxxxxx> wrote: > After testing: > > # gcc inlineasm.c > inlineasm.c: Assembler messages: > inlineasm.c:7: Error: suffix or operands invalid for `out' > [root@debian-johnny] ~/workspace/test > > # cat inlineasm.c > #include <stdio.h> > > int main () > { > unsigned int val = 5, tmp = 10; > asm volatile ("outb $0x27, %%al" > : > : "a" (0xb2), "b"(val), "c" (tmp) > ); > } > > It seems the source of outb instruction cannot be a constant. Is > there a AT&T instructions document for x86? In AT&T syntax, the source register comes first. So it should be "outb %%al, $0x27", assuming that 0x27 is the port number you are trying to write to. -- Brian Gerst -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html