1 .text
2 .global __cp_begin
3 .hidden __cp_begin
4 .global __cp_end
5 .hidden __cp_end
6 .global __cp_cancel
7 .hidden __cp_cancel
8 .hidden __cancel
9 .global __syscall_cp_asm
10 .hidden __syscall_cp_asm
11 .type   __syscall_cp_asm,@function
12 __syscall_cp_asm:
13 	mov 4(%esp),%ecx
14 	pushl %ebx
15 	pushl %esi
16 	pushl %edi
17 	pushl %ebp
18 __cp_begin:
19 	movl (%ecx),%eax
20 	testl %eax,%eax
21 	jnz __cp_cancel
22 	movl 24(%esp),%eax
23 	movl 28(%esp),%ebx
24 	movl 32(%esp),%ecx
25 	movl 36(%esp),%edx
26 	movl 40(%esp),%esi
27 	movl 44(%esp),%edi
28 	movl 48(%esp),%ebp
29 	int $128
30 __cp_end:
31 	popl %ebp
32 	popl %edi
33 	popl %esi
34 	popl %ebx
35 	ret
36 __cp_cancel:
37 	popl %ebp
38 	popl %edi
39 	popl %esi
40 	popl %ebx
41 	jmp __cancel
42