CeDOS - apps/start.c

apps/start.c (view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "assembly.h"

#include <stdint.h>

extern void fib(void);

int start(void) {
    uint32_t eip, esp, ebp;
    __asm__ volatile ("call jump; jump: pop %0; mov %%esp, %1; mov %%ebp, %2" : "=m" (eip), "=m" (esp), "=m" (ebp));

    syscall(0, eip, esp, ebp);

    fib();

    while(1);
}