30 lines
510 B
C
30 lines
510 B
C
|
#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;
|
||
|
}
|