src/apps/start.c (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#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)); fib(); while(1); }