2005-08-26 04:48:05 +00:00
|
|
|
.set reorder
|
|
|
|
.globl main
|
|
|
|
.text
|
|
|
|
.text
|
|
|
|
.align 2
|
|
|
|
.ent main
|
|
|
|
main:
|
|
|
|
.frame $sp,0,$31
|
|
|
|
.set noreorder
|
|
|
|
.cpload $25
|
|
|
|
.set reorder
|
|
|
|
move $2,$0
|
|
|
|
L.1:
|
|
|
|
j $31
|
|
|
|
.end main
|
|
|
|
.globl f
|
|
|
|
.text
|
|
|
|
.align 2
|
|
|
|
.ent f
|
|
|
|
f:
|
|
|
|
.frame $sp,32,$31
|
|
|
|
.set noreorder
|
|
|
|
.cpload $25
|
|
|
|
.set reorder
|
|
|
|
addu $sp,$sp,-32
|
|
|
|
.mask 0x82000000,-12
|
|
|
|
.cprestore 16
|
|
|
|
sw $31,20($sp)
|
|
|
|
sw $4,32($sp)
|
|
|
|
jal f
|
|
|
|
move $24,$2
|
|
|
|
sw $24,-4+32($sp)
|
|
|
|
jal f
|
|
|
|
lw $15,-4+32($sp)
|
|
|
|
addu $24,$15,$2
|
|
|
|
sw $24,0+32($sp)
|
|
|
|
move $2,$0
|
|
|
|
L.2:
|
|
|
|
lw $25,16($sp)
|
|
|
|
lw $31,20($sp)
|
|
|
|
addu $sp,$sp,32
|
|
|
|
j $31
|
|
|
|
.end f
|
|
|
|
.globl f2
|
|
|
|
.text
|
|
|
|
.align 2
|
|
|
|
.ent f2
|
|
|
|
f2:
|
|
|
|
.frame $sp,32,$31
|
|
|
|
.set noreorder
|
|
|
|
.cpload $25
|
|
|
|
.set reorder
|
|
|
|
addu $sp,$sp,-32
|
|
|
|
.mask 0xc2000000,-8
|
|
|
|
.cprestore 16
|
|
|
|
sw $30,20($sp)
|
|
|
|
sw $31,24($sp)
|
|
|
|
sw $4,32($sp)
|
|
|
|
jal f
|
|
|
|
move $24,$2
|
|
|
|
sw $24,-4+32($sp)
|
|
|
|
lw $15,0+32($sp)
|
|
|
|
beq $15,$0,L.5
|
|
|
|
jal f
|
|
|
|
move $24,$2
|
|
|
|
move $30,$24
|
|
|
|
b L.6
|
|
|
|
L.5:
|
|
|
|
la $30,1
|
|
|
|
L.6:
|
|
|
|
lw $24,-4+32($sp)
|
|
|
|
addu $24,$24,$30
|
|
|
|
sw $24,0+32($sp)
|
|
|
|
move $2,$0
|
|
|
|
L.3:
|
|
|
|
lw $25,16($sp)
|
|
|
|
lw $30,20($sp)
|
|
|
|
lw $31,24($sp)
|
|
|
|
addu $sp,$sp,32
|
|
|
|
j $31
|
|
|
|
.end f2
|
|
|
|
.globl f3
|
|
|
|
.text
|
|
|
|
.align 2
|
|
|
|
.ent f3
|
|
|
|
f3:
|
|
|
|
.frame $sp,72,$31
|
|
|
|
.set noreorder
|
|
|
|
.cpload $25
|
|
|
|
.set reorder
|
|
|
|
addu $sp,$sp,-72
|
|
|
|
.mask 0xc2ff0000,-16
|
|
|
|
sw $16,16($sp)
|
|
|
|
sw $17,20($sp)
|
|
|
|
sw $18,24($sp)
|
|
|
|
sw $19,28($sp)
|
|
|
|
sw $20,32($sp)
|
|
|
|
sw $21,36($sp)
|
|
|
|
sw $22,40($sp)
|
|
|
|
sw $23,44($sp)
|
|
|
|
.cprestore 48
|
|
|
|
sw $30,52($sp)
|
|
|
|
sw $31,56($sp)
|
|
|
|
sw $4,72($sp)
|
|
|
|
sw $5,76($sp)
|
|
|
|
move $30,$0
|
|
|
|
move $23,$0
|
|
|
|
move $22,$0
|
|
|
|
move $21,$0
|
|
|
|
move $20,$0
|
|
|
|
move $19,$0
|
|
|
|
move $18,$0
|
|
|
|
move $17,$0
|
|
|
|
move $16,$0
|
|
|
|
sw $0,-4+72($sp)
|
|
|
|
lw $24,4+72($sp)
|
|
|
|
sw $24,-12+72($sp)
|
|
|
|
la $15,4($24)
|
|
|
|
sw $15,4+72($sp)
|
|
|
|
lw $15,0+72($sp)
|
|
|
|
beq $15,$0,L.9
|
|
|
|
jal f
|
|
|
|
move $24,$2
|
|
|
|
sw $24,-8+72($sp)
|
|
|
|
b L.10
|
|
|
|
L.9:
|
|
|
|
sw $0,-8+72($sp)
|
|
|
|
L.10:
|
|
|
|
lw $24,-8+72($sp)
|
|
|
|
lw $15,-12+72($sp)
|
|
|
|
sw $24,($15)
|
|
|
|
move $2,$0
|
|
|
|
L.7:
|
|
|
|
lw $16,16($sp)
|
|
|
|
lw $17,20($sp)
|
|
|
|
lw $18,24($sp)
|
|
|
|
lw $19,28($sp)
|
|
|
|
lw $20,32($sp)
|
|
|
|
lw $21,36($sp)
|
|
|
|
lw $22,40($sp)
|
|
|
|
lw $23,44($sp)
|
|
|
|
lw $25,48($sp)
|
|
|
|
lw $30,52($sp)
|
|
|
|
lw $31,56($sp)
|
|
|
|
addu $sp,$sp,72
|
|
|
|
j $31
|
|
|
|
.end f3
|
|
|
|
.globl f4
|
|
|
|
.text
|
|
|
|
.align 2
|
|
|
|
.ent f4
|
|
|
|
f4:
|
|
|
|
.frame $sp,32,$31
|
|
|
|
.set noreorder
|
|
|
|
.cpload $25
|
|
|
|
.set reorder
|
|
|
|
addu $sp,$sp,-32
|
|
|
|
.mask 0x40fc0000,-8
|
|
|
|
sw $18,0($sp)
|
|
|
|
sw $19,4($sp)
|
|
|
|
sw $20,8($sp)
|
|
|
|
sw $21,12($sp)
|
|
|
|
sw $22,16($sp)
|
|
|
|
sw $23,20($sp)
|
|
|
|
sw $30,24($sp)
|
|
|
|
move $30,$0
|
|
|
|
move $23,$0
|
|
|
|
move $22,$0
|
|
|
|
move $21,$0
|
|
|
|
move $20,$0
|
|
|
|
move $19,$0
|
|
|
|
lw $24,i
|
|
|
|
sll $15,$24,3
|
|
|
|
l.d $f18,a($15)
|
|
|
|
l.d $f16,b($15)
|
|
|
|
l.d $f10,L.15
|
|
|
|
add.d $f8,$f18,$f16
|
|
|
|
c.eq.d $f8,$f10; bc1t L.13
|
|
|
|
beq $24,$0,L.13
|
|
|
|
sub.d $f18,$f18,$f16
|
|
|
|
c.eq.d $f18,$f10; bc1t L.13
|
|
|
|
la $18,1
|
|
|
|
b L.14
|
|
|
|
L.13:
|
|
|
|
move $18,$0
|
|
|
|
L.14:
|
|
|
|
sw $18,i
|
|
|
|
move $2,$0
|
|
|
|
L.11:
|
|
|
|
lw $18,0($sp)
|
|
|
|
lw $19,4($sp)
|
|
|
|
lw $20,8($sp)
|
|
|
|
lw $21,12($sp)
|
|
|
|
lw $22,16($sp)
|
|
|
|
lw $23,20($sp)
|
|
|
|
lw $30,24($sp)
|
|
|
|
addu $sp,$sp,32
|
|
|
|
j $31
|
|
|
|
.end f4
|
|
|
|
.globl f5
|
|
|
|
.text
|
|
|
|
.align 2
|
|
|
|
.ent f5
|
|
|
|
f5:
|
|
|
|
.frame $sp,0,$31
|
|
|
|
.set noreorder
|
|
|
|
.cpload $25
|
|
|
|
.set reorder
|
|
|
|
lw $24,k
|
|
|
|
lw $15,m
|
|
|
|
lw $14,A
|
|
|
|
mul $13,$24,$15
|
|
|
|
sll $13,$13,3
|
|
|
|
addu $13,$13,$14
|
|
|
|
lw $12,j
|
|
|
|
mul $15,$12,$15
|
|
|
|
sll $15,$15,3
|
|
|
|
addu $15,$15,$14
|
|
|
|
lw $14,n
|
|
|
|
lw $11,B
|
|
|
|
mul $24,$24,$14
|
|
|
|
sll $24,$24,3
|
|
|
|
addu $24,$24,$11
|
|
|
|
mul $14,$12,$14
|
|
|
|
sll $14,$14,3
|
|
|
|
addu $14,$14,$11
|
|
|
|
l.d $f18,($13)
|
|
|
|
l.d $f16,($15)
|
|
|
|
mul.d $f18,$f18,$f16
|
|
|
|
l.d $f16,($24)
|
|
|
|
l.d $f10,($14)
|
|
|
|
mul.d $f16,$f16,$f10
|
|
|
|
add.d $f18,$f18,$f16
|
|
|
|
s.d $f18,x
|
|
|
|
l.d $f18,($13)
|
|
|
|
l.d $f16,($14)
|
|
|
|
mul.d $f18,$f18,$f16
|
|
|
|
l.d $f16,($24)
|
|
|
|
l.d $f10,($15)
|
|
|
|
mul.d $f16,$f16,$f10
|
|
|
|
sub.d $f18,$f18,$f16
|
|
|
|
s.d $f18,x
|
|
|
|
move $2,$0
|
|
|
|
L.16:
|
|
|
|
j $31
|
|
|
|
.end f5
|
|
|
|
.globl x
|
|
|
|
.comm x,8
|
|
|
|
.globl B
|
|
|
|
.comm B,4
|
|
|
|
.globl A
|
|
|
|
.comm A,4
|
|
|
|
.globl n
|
|
|
|
.comm n,4
|
|
|
|
.globl m
|
|
|
|
.comm m,4
|
|
|
|
.globl k
|
|
|
|
.comm k,4
|
|
|
|
.globl j
|
|
|
|
.comm j,4
|
|
|
|
.globl i
|
|
|
|
.comm i,4
|
|
|
|
.globl b
|
|
|
|
.comm b,80
|
|
|
|
.globl a
|
|
|
|
.comm a,80
|
|
|
|
.rdata
|
|
|
|
.align 3
|
|
|
|
L.15:
|
|
|
|
.word 0x0
|
|
|
|
.word 0x0
|