154 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.set reorder
 | 
						|
.globl main
 | 
						|
.text
 | 
						|
.text
 | 
						|
.align 2
 | 
						|
.ent main
 | 
						|
main:
 | 
						|
.frame $sp,48,$31
 | 
						|
.set noreorder
 | 
						|
.cpload $25
 | 
						|
.set reorder
 | 
						|
addu $sp,$sp,-48
 | 
						|
.fmask 0xc0000000,-32
 | 
						|
.mask 0xc2c00000,-8
 | 
						|
s.d $f30,16($sp)
 | 
						|
sw $22,24($sp)
 | 
						|
sw $23,28($sp)
 | 
						|
.cprestore 32
 | 
						|
sw $30,36($sp)
 | 
						|
sw $31,40($sp)
 | 
						|
sw $4,48($sp)
 | 
						|
sw $5,52($sp)
 | 
						|
lw $24,0+48($sp)
 | 
						|
la $15,1
 | 
						|
bgt $24,$15,L.2
 | 
						|
l.s $f30,L.4
 | 
						|
b L.3
 | 
						|
L.2:
 | 
						|
lw $24,4+48($sp)
 | 
						|
lw $4,4($24)
 | 
						|
jal atof
 | 
						|
l.s $f16,L.5
 | 
						|
div.s $f30,$f0,$f16
 | 
						|
L.3:
 | 
						|
move $30,$0
 | 
						|
L.6:
 | 
						|
move $24,$30
 | 
						|
la $30,1($24)
 | 
						|
sll $24,$24,2
 | 
						|
l.s $f18,L.4
 | 
						|
s.s $f18,f($24)
 | 
						|
L.7:
 | 
						|
la $24,127
 | 
						|
ble $30,$24,L.6
 | 
						|
move $23,$0
 | 
						|
b L.11
 | 
						|
L.10:
 | 
						|
sll $24,$22,2
 | 
						|
la $24,f($24)
 | 
						|
l.s $f18,($24)
 | 
						|
l.s $f16,L.13
 | 
						|
add.s $f18,$f18,$f16
 | 
						|
s.s $f18,($24)
 | 
						|
la $23,1($23)
 | 
						|
L.11:
 | 
						|
jal getchar
 | 
						|
move $22,$2
 | 
						|
la $15,-1
 | 
						|
bne $2,$15,L.10
 | 
						|
la $4,L.14
 | 
						|
jal printf
 | 
						|
move $30,$0
 | 
						|
L.15:
 | 
						|
sll $24,$30,2
 | 
						|
l.s $f18,f($24)
 | 
						|
l.s $f16,L.4
 | 
						|
c.eq.s $f18,$f16; bc1t L.19
 | 
						|
mtc1 $23,$f16; cvt.s.w $f16,$f16
 | 
						|
div.s $f18,$f18,$f16
 | 
						|
c.ult.s $f18,$f30; bc1t L.19
 | 
						|
la $24,32
 | 
						|
bgt $30,$24,L.21
 | 
						|
la $4,L.23
 | 
						|
move $5,$30
 | 
						|
jal printf
 | 
						|
b L.22
 | 
						|
L.21:
 | 
						|
la $4,L.24
 | 
						|
move $5,$30
 | 
						|
jal printf
 | 
						|
L.22:
 | 
						|
la $4,L.25
 | 
						|
l.s $f18,L.5
 | 
						|
sll $24,$30,2
 | 
						|
l.s $f16,f($24)
 | 
						|
mul.s $f18,$f18,$f16
 | 
						|
mtc1 $23,$f16; cvt.s.w $f16,$f16
 | 
						|
div.s $f18,$f18,$f16
 | 
						|
cvt.d.s $f18,$f18
 | 
						|
mfc1.d $6,$f18
 | 
						|
jal printf
 | 
						|
L.19:
 | 
						|
L.16:
 | 
						|
la $30,1($30)
 | 
						|
la $24,127
 | 
						|
ble $30,$24,L.15
 | 
						|
move $2,$0
 | 
						|
L.1:
 | 
						|
l.d $f30,16($sp)
 | 
						|
lw $22,24($sp)
 | 
						|
lw $23,28($sp)
 | 
						|
lw $25,32($sp)
 | 
						|
lw $30,36($sp)
 | 
						|
lw $31,40($sp)
 | 
						|
addu $sp,$sp,48
 | 
						|
j $31
 | 
						|
.end main
 | 
						|
.globl f
 | 
						|
.comm f,512
 | 
						|
.rdata
 | 
						|
.align 0
 | 
						|
L.25:
 | 
						|
.byte 9
 | 
						|
.byte 37
 | 
						|
.byte 46
 | 
						|
.byte 49
 | 
						|
.byte 102
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 0
 | 
						|
L.24:
 | 
						|
.byte 37
 | 
						|
.byte 99
 | 
						|
.byte 0
 | 
						|
.align 0
 | 
						|
L.23:
 | 
						|
.byte 37
 | 
						|
.byte 48
 | 
						|
.byte 51
 | 
						|
.byte 111
 | 
						|
.byte 0
 | 
						|
.align 0
 | 
						|
L.14:
 | 
						|
.byte 99
 | 
						|
.byte 104
 | 
						|
.byte 97
 | 
						|
.byte 114
 | 
						|
.byte 9
 | 
						|
.byte 102
 | 
						|
.byte 114
 | 
						|
.byte 101
 | 
						|
.byte 113
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 2
 | 
						|
L.13:
 | 
						|
.word 0x3f800000
 | 
						|
.align 2
 | 
						|
L.5:
 | 
						|
.word 0x42c80000
 | 
						|
.align 2
 | 
						|
L.4:
 | 
						|
.word 0x0
 |