2012-07-11 04:22:13 -04:00
|
|
|
.set noreorder
|
|
|
|
|
|
|
|
.global __syscall
|
2015-04-14 13:48:20 -04:00
|
|
|
.hidden __syscall
|
2012-07-11 04:22:13 -04:00
|
|
|
.type __syscall,@function
|
|
|
|
__syscall:
|
2012-09-09 14:53:06 -04:00
|
|
|
move $2, $4
|
2012-07-11 04:22:13 -04:00
|
|
|
move $4, $5
|
|
|
|
move $5, $6
|
|
|
|
move $6, $7
|
|
|
|
lw $7, 16($sp)
|
|
|
|
lw $8, 20($sp)
|
|
|
|
lw $9, 24($sp)
|
2012-09-09 14:53:06 -04:00
|
|
|
lw $10,28($sp)
|
2012-07-11 04:22:13 -04:00
|
|
|
subu $sp, $sp, 32
|
|
|
|
sw $8, 16($sp)
|
|
|
|
sw $9, 20($sp)
|
2012-09-09 14:53:06 -04:00
|
|
|
sw $10,24($sp)
|
|
|
|
sw $2 ,28($sp)
|
|
|
|
lw $2, 28($sp)
|
2012-07-11 04:22:13 -04:00
|
|
|
syscall
|
|
|
|
beq $7, $0, 1f
|
|
|
|
addu $sp, $sp, 32
|
|
|
|
subu $2, $0, $2
|
|
|
|
1: jr $ra
|
|
|
|
nop
|