.set reorder | |
.globl words | |
.data | |
.align 2 | |
words: | |
.word 0x1 | |
.word 0x2 | |
.word 0x3 | |
.byte 105 | |
.byte 102 | |
.byte 0 | |
.space 3 | |
.space 2 | |
.word 0x4 | |
.word 0x5 | |
.space 4 | |
.byte 102 | |
.byte 111 | |
.byte 114 | |
.space 3 | |
.space 2 | |
.word 0x6 | |
.word 0x7 | |
.word 0x8 | |
.byte 101 | |
.byte 108 | |
.byte 115 | |
.byte 101 | |
.byte 0 | |
.space 1 | |
.space 2 | |
.word 0x9 | |
.word 0xa | |
.word 0xb | |
.byte 119 | |
.byte 104 | |
.byte 105 | |
.byte 108 | |
.byte 101 | |
.space 1 | |
.space 2 | |
.word 0x0 | |
.space 8 | |
.space 8 | |
.globl wordlist | |
.sdata | |
.align 2 | |
wordlist: | |
.word words | |
.globl x | |
.data | |
.align 2 | |
x: | |
.word 0x1 | |
.word 0x2 | |
.word 0x3 | |
.word 0x4 | |
.word 0x0 | |
.word 0x5 | |
.word 0x6 | |
.space 12 | |
.word 0x7 | |
.space 16 | |
.globl y | |
.data | |
.align 2 | |
y: | |
.word x | |
.word x+20 | |
.word x+40 | |
.word 0x0 | |
.globl main | |
.text | |
.text | |
.align 2 | |
.ent main | |
main: | |
.frame $sp,32,$31 | |
.set noreorder | |
.cpload $25 | |
.set reorder | |
addu $sp,$sp,-32 | |
.mask 0xc2800000,-4 | |
sw $23,16($sp) | |
.cprestore 20 | |
sw $30,24($sp) | |
sw $31,28($sp) | |
move $23,$0 | |
b L.8 | |
L.5: | |
move $30,$0 | |
b L.12 | |
L.9: | |
la $4,L.13 | |
sll $24,$30,2 | |
sll $15,$23,2 | |
lw $15,y($15) | |
addu $24,$24,$15 | |
lw $5,($24) | |
jal printf | |
L.10: | |
la $30,1($30) | |
L.12: | |
sll $24,$30,2 | |
sll $15,$23,2 | |
lw $15,y($15) | |
addu $24,$24,$15 | |
lw $24,($24) | |
bne $24,$0,L.9 | |
la $4,L.14 | |
jal printf | |
L.6: | |
la $23,1($23) | |
L.8: | |
sll $24,$23,2 | |
lw $24,y($24) | |
bne $24,$0,L.5 | |
jal f | |
lw $4,wordlist | |
jal g | |
move $2,$0 | |
L.4: | |
lw $23,16($sp) | |
lw $25,20($sp) | |
lw $30,24($sp) | |
lw $31,28($sp) | |
addu $sp,$sp,32 | |
j $31 | |
.end main | |
.data | |
.align 2 | |
L.16: | |
.word L.17 | |
.word L.18 | |
.word L.19 | |
.word L.20 | |
.word 0x0 | |
.globl f | |
.text | |
.text | |
.align 2 | |
.ent f | |
f: | |
.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) | |
la $30,L.16 | |
b L.24 | |
L.21: | |
la $4,L.25 | |
lw $5,($30) | |
jal printf | |
L.22: | |
la $30,4($30) | |
L.24: | |
lw $24,($30) | |
bne $24,$0,L.21 | |
move $2,$0 | |
L.15: | |
lw $25,16($sp) | |
lw $30,20($sp) | |
lw $31,24($sp) | |
addu $sp,$sp,32 | |
j $31 | |
.end f | |
.globl g | |
.text | |
.align 2 | |
.ent g | |
g: | |
.frame $sp,32,$31 | |
.set noreorder | |
.cpload $25 | |
.set reorder | |
addu $sp,$sp,-32 | |
.mask 0xc2800000,-4 | |
sw $23,16($sp) | |
.cprestore 20 | |
sw $30,24($sp) | |
sw $31,28($sp) | |
move $30,$4 | |
b L.30 | |
L.27: | |
move $23,$0 | |
b L.34 | |
L.31: | |
la $4,L.35 | |
sll $24,$23,2 | |
addu $24,$24,$30 | |
lw $5,($24) | |
jal printf | |
L.32: | |
la $23,1($23) | |
L.34: | |
move $24,$23 | |
la $15,3 | |
bltu $24,$15,L.31 | |
la $4,L.25 | |
la $5,12($30) | |
jal printf | |
L.28: | |
la $30,20($30) | |
L.30: | |
lw $24,($30) | |
bne $24,$0,L.27 | |
jal h | |
move $2,$0 | |
L.26: | |
lw $23,16($sp) | |
lw $25,20($sp) | |
lw $30,24($sp) | |
lw $31,28($sp) | |
addu $sp,$sp,32 | |
j $31 | |
.end g | |
.globl h | |
.text | |
.align 2 | |
.ent h | |
h: | |
.frame $sp,32,$31 | |
.set noreorder | |
.cpload $25 | |
.set reorder | |
addu $sp,$sp,-32 | |
.mask 0xc2000000,-4 | |
.cprestore 20 | |
sw $30,24($sp) | |
sw $31,28($sp) | |
move $30,$0 | |
b L.40 | |
L.37: | |
la $4,L.41 | |
la $24,20 | |
mul $24,$24,$30 | |
lw $5,words($24) | |
lw $6,words+4($24) | |
lw $7,words+8($24) | |
la $24,words+12($24) | |
sw $24,16($sp) | |
jal printf | |
L.38: | |
la $30,1($30) | |
L.40: | |
move $24,$30 | |
la $15,5 | |
bltu $24,$15,L.37 | |
move $2,$0 | |
L.36: | |
lw $25,20($sp) | |
lw $30,24($sp) | |
lw $31,28($sp) | |
addu $sp,$sp,32 | |
j $31 | |
.end h | |
.rdata | |
.align 0 | |
L.41: | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 37 | |
.byte 115 | |
.byte 10 | |
.byte 0 | |
.align 0 | |
L.35: | |
.byte 37 | |
.byte 100 | |
.byte 32 | |
.byte 0 | |
.align 0 | |
L.25: | |
.byte 37 | |
.byte 115 | |
.byte 10 | |
.byte 0 | |
.align 0 | |
L.20: | |
.byte 119 | |
.byte 104 | |
.byte 105 | |
.byte 108 | |
.byte 101 | |
.byte 0 | |
.align 0 | |
L.19: | |
.byte 101 | |
.byte 108 | |
.byte 115 | |
.byte 101 | |
.byte 0 | |
.align 0 | |
L.18: | |
.byte 102 | |
.byte 111 | |
.byte 114 | |
.byte 0 | |
.align 0 | |
L.17: | |
.byte 105 | |
.byte 102 | |
.byte 0 | |
.align 0 | |
L.14: | |
.byte 10 | |
.byte 0 | |
.align 0 | |
L.13: | |
.byte 32 | |
.byte 37 | |
.byte 100 | |
.byte 0 |