master
 1.global __cp_begin
 2.hidden __cp_begin
 3.global __cp_end
 4.hidden __cp_end
 5.global __cp_cancel
 6.hidden __cp_cancel
 7.hidden __cancel
 8.global __syscall_cp_asm
 9.hidden __syscall_cp_asm
10.type   __syscall_cp_asm,@function
11
12__syscall_cp_asm:
13__cp_begin:
14	ld.w $a0, $a0, 0
15	bnez $a0, __cp_cancel
16	move $t8, $a1    # reserve system call number
17	move $a0, $a2
18	move $a1, $a3
19	move $a2, $a4
20	move $a3, $a5
21	move $a4, $a6
22	move $a5, $a7
23	move $a7, $t8
24	syscall 0
25__cp_end:
26	jr $ra
27__cp_cancel:
28	la.local $t8, __cancel
29	jr $t8