Messages in this thread | | | Date | Mon, 23 Nov 2009 11:14:42 +0800 | Subject | Re: How to move two valuables to x86 CPU register ebx, ecx by using AT&A inline asm. | From | Johnny Hung <> |
| |
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?
BRs, H. Johnny > Why not just: > ("outb $0x27, %%al" : : "a" (0xb2), "b"(val), "c" (tmp)); > -- > js > Faculty of Informatics, Masaryk University > Suse Labs, Novell >
| |