.section .text .globl _start .type _start, @function _start: xorq %rbp, %rbp # frame ptr (%rbp) = null. marks stack bottom. movl (%rsp), %edi # argc = first 4 bytes of stack. leaq 8(%rsp), %rsi # argv = address of first arg ptr. call main movl %eax, %edi # status = ret val. movl $1, %eax # SYS_exit = 1. syscall .size _start, .-_start hlt # if syscall fails hang.