.global syscall syscall: push %ebx // preserve (sysV abi convnetion) mov 0x8(%esp),%eax //syscall number mov 0xC(%esp),%edx //p1 mov 0x10(%esp),%ecx //p2 mov 0x14(%esp),%ebx //p3 int $0x80 mov %ebx, %eax // set as return value pop %ebx // preserve ret