.text .global __cp_begin .hidden __cp_begin .global __cp_end .hidden __cp_end .global __cp_cancel .hidden __cp_cancel .hidden __cancel .global __syscall_cp_asm .hidden __syscall_cp_asm .type __syscall_cp_asm,@function __syscall_cp_asm: movem.l %d2-%d5,-(%sp) movea.l 20(%sp),%a0 __cp_begin: move.l (%a0),%d0 bne __cp_cancel movem.l 24(%sp),%d0-%d5/%a0 trap #0 __cp_end: movem.l (%sp)+,%d2-%d5 rts __cp_cancel: movem.l (%sp)+,%d2-%d5 move.l __cancel-.-8,%a1 jmp (%pc,%a1)