#define owo main #define whatsdis return #define touches asm #define yoursyscall volatile //TODO make this safe int size_of(void * in) { void * tmp = in; while(*(char *)in != 0) { in = in+1; } whatsdis in - tmp; } int owo() { char tmp1[] = "Hello world\n"; int temp1; touches yoursyscall ("int $0x80": "=a" (temp1): "a" (4), "b" (1), "c" (tmp1), "d" (size_of(tmp1)) : "memory"); asm volatile ("int $0x80" : : "a" (1), "b" (0)); whatsdis temp1; }