From: Matthias Braun Date: Sun, 28 Oct 2007 12:30:51 +0000 (+0000) Subject: improve asm test X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=8dfe86de7b1d1ee19da89675f074bedfc87b80a6;p=libfirm improve asm test [r16373] --- diff --git a/ir/be/test/asm_test.c b/ir/be/test/asm_test.c index 5d2df8cb8..d5fe607fa 100644 --- a/ir/be/test/asm_test.c +++ b/ir/be/test/asm_test.c @@ -1,4 +1,5 @@ #include +#include #ifdef __i386__ static inline unsigned char inb(const unsigned short port) @@ -54,11 +55,11 @@ typedef struct kernel_fd_set { typedef int kernel_fd_set; #endif -void fs_set(int fd, kernel_fd_set* set) { - __asm__("btsl %1,%0" : "=m" (*(set+2)) : "r" (fd)); +void fd_set(int fd, kernel_fd_set* set) { + __asm__("btsl %1,%0" : "=m" (*(set)) : "r" (fd)); } -void fd_isset(int fd, kernel_fd_set *set) { +int fd_isset(int fd, kernel_fd_set *set) { unsigned char result; __asm__ __volatile__("btl %1,%2\n" @@ -77,13 +78,14 @@ int justcompile(void) int main() { - //sincostest(0.5); - /*outb(123, 42); - outb(12345, 42);*/ + kernel_fd_set s; + + fd_set(20, &s); + assert(fd_isset(20, &s)); printf("Swap16: %d Swap32: %d\n", swap16(12), swap32(123551235)); - return mov(0) /*+ inb(12345) + inb(123)*/; + return mov(0); } #else