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__syscall_cp_asm: 12__cp_begin: 13 lw t0, 0(a0) 14 bnez t0, __cp_cancel 15 16 mv t0, a1 17 mv a0, a2 18 mv a1, a3 19 mv a2, a4 20 mv a3, a5 21 mv a4, a6 22 mv a5, a7 23 ld a6, 0(sp) 24 mv a7, t0 25 ecall 26__cp_end: 27 ret 28__cp_cancel: 29 tail __cancel 30