stdio: puts() and vprintf()
[neatlibc.git] / x64 / start.s
bloba32ea0dcb81c87d5dd82fd1537be28d3c014b64f
1 format ELF64
3 extrn environ
5 extrn main
6 extrn __neatlibc_exit
7 public _start
8 _start:
9 xor rbp, rbp
10 pop rdi ; argc
11 mov rsi, rsp ; argv
12 push rdi
13 lea rdx, [rsi + rdi * 8 + 8]; envp
14 mov [environ], rdx
15 and rsp, -16 ; align rsp
17 call main
18 mov rbx, rax
19 call __neatlibc_exit
20 mov rdi, rbx
21 mov rax, 60
22 syscall