diff --git a/tests/asm-c-connect-1.c b/tests/asm-c-connect-1.c index 3f7b010..fbd240c 100644 --- a/tests/asm-c-connect-1.c +++ b/tests/asm-c-connect-1.c @@ -1,23 +1,24 @@ #include #if defined _WIN32 && !defined __TINYC__ -# define U "_" +# define _ "_" #else -# define U +# define _ #endif -const char str[] = "x1\n"; -#ifdef __x86_64__ -asm(U"x1: push %rbp; mov $"U"str, %rdi; call "U"printf; pop %rbp; ret"); -#elif defined (__i386__) -asm(U"x1: push $"U"str; call "U"printf; pop %eax; ret"); -#endif +static int x1_c(void) +{ + printf("x1\n"); + return 1; +} + +asm(".text;"_"x1: call "_"x1_c; ret"); int main(int argc, char *argv[]) { - asm("call "U"x1"); - asm("call "U"x2"); - asm("call "U"x3"); + asm("call "_"x1"); + asm("call "_"x2"); + asm("call "_"x3"); return 0; }