hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/user/program.c
blob: 8e26128c2089126bab880b337cf943512b3def1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static long sys_write(const char* buffer, unsigned long buffer_size)
{
    long ret;
    __asm__ volatile("int $0x80" : "=a"(ret) : "a"(1L), "D"(buffer), "S"(buffer_size) : "memory");
    return ret;
}
static void sys_exit(long code)
{
    __asm__ volatile("int $0x80" : : "a"(0L), "D"(code) : "memory");
    for (;;);
}

void _start(void)
{
    const char* message = "wassup shawty\n";
    unsigned long message_length = 0;
    while (message[message_length])
        message_length++;

    sys_write(message, message_length);
    sys_exit(0);
}