...
This commit is contained in:
@@ -1,17 +1,22 @@
|
|||||||
global _start
|
global _start
|
||||||
extern main, gc_init
|
extern main
|
||||||
|
|
||||||
section .text
|
section .text
|
||||||
_start:
|
_start:
|
||||||
call gc_init
|
; Extract argc and argv from the stack
|
||||||
call main
|
mov rdi, [rsp] ; rdi = argc
|
||||||
mov rdi, rax
|
lea rsi, [rsp + 8] ; rsi = argv (pointer to array of strings)
|
||||||
mov rax, 60
|
|
||||||
|
; Call main(argc, argv)
|
||||||
|
call main ; main returns int in rax
|
||||||
|
|
||||||
|
; Exit with main's return value
|
||||||
|
mov rdi, rax ; exit code
|
||||||
|
mov rax, 60 ; syscall: exit
|
||||||
syscall
|
syscall
|
||||||
|
|
||||||
global nub_strcmp
|
global nub_strcmp
|
||||||
|
|
||||||
section .text
|
|
||||||
nub_strcmp:
|
nub_strcmp:
|
||||||
xor rdx, rdx
|
xor rdx, rdx
|
||||||
.loop:
|
.loop:
|
||||||
|
|||||||
Reference in New Issue
Block a user