> A single asm adjusts the stack, puts arguments there, does the syscall and > restores the stack. The frame pointer is needed to avoid the stack > pointer adjustment breaking unwind info. Or it could use .cfi_* directives inside the asm.