| .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) |