Luna/libs/libc/crt0.asm

29 lines
330 B
NASM
Raw Normal View History

section .text
extern _init
extern main
extern _fini
extern exit
global _start
_start:
; Set up end of the stack frame linked list.
xor rbp, rbp
push rbp ; rip=0
push rbp ; rbp=0
mov rbp, rsp
call _init
mov rdi, 0 ; argc = 0
mov rsi, 0 ; argv = 0
call main
push rax
call _fini
pop rdi
call exit