summaryrefslogtreecommitdiff
path: root/interface/syscall.s
blob: abce63a5bc4094c0751c171d63d220061414742c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.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