123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- .set noreorder
- .global __cp_begin
- .hidden __cp_begin
- .type __cp_begin,@function
- .global __cp_end
- .hidden __cp_end
- .type __cp_end,@function
- .global __cp_cancel
- .hidden __cp_cancel
- .type __cp_cancel,@function
- .global __cp_cancel_data
- .hidden __cp_cancel_data
- .type __cp_cancel_data,@function
- .hidden __cancel
- .global __syscall_cp_asm
- .hidden __syscall_cp_asm
- .type __syscall_cp_asm,@function
- __syscall_cp_asm:
- subu $sp, $sp, 32
- __cp_begin:
- lw $4, 0($4)
- bne $4, $0, __cp_cancel
- move $2, $5
- move $4, $6
- move $5, $7
- lw $6, 48($sp)
- lw $7, 52($sp)
- lw $8, 56($sp)
- lw $9, 60($sp)
- lw $10,64($sp)
- sw $8, 16($sp)
- sw $9, 20($sp)
- sw $10,24($sp)
- sw $2, 28($sp)
- lw $2, 28($sp)
- syscall
- __cp_end:
- beq $7, $0, 1f
- addu $sp, $sp, 32
- subu $2, $0, $2
- 1: jr $ra
- nop
- __cp_cancel:
- move $2, $ra
- bal 1f
- addu $sp, $sp, 32
- __cp_cancel_data:
- .gpword __cp_cancel_data
- .gpword __cancel
- 1: lw $3, ($ra)
- subu $3, $ra, $3
- lw $25, 4($ra)
- addu $25, $25, $3
- jr $25
- move $ra, $2
|