.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.18:
.word L.19
.word L.20
.word L.21
.word L.22
.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.18
b L.26
L.23:
la $4,L.27
lw $5,($30)
jal printf
L.24:
la $30,4($30)
L.26:
lw $24,($30)
bne $24,$0,L.23
L.17:
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.32
L.29:
move $23,$0
b L.36
L.33:
la $4,L.37
sll $24,$23,2
addu $24,$24,$30
lw $5,($24)
jal printf
L.34:
la $23,1($23)
L.36:
la $24,3
bltu $23,$24,L.33
la $4,L.27
la $5,12($30)
jal printf
L.30:
la $30,20($30)
L.32:
lw $24,($30)
bne $24,$0,L.29
jal h
L.28:
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.42
L.39:
la $4,L.43
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.40:
la $30,1($30)
L.42:
la $24,5
bltu $30,$24,L.39
L.38:
lw $25,20($sp)
lw $30,24($sp)
lw $31,28($sp)
addu $sp,$sp,32
j $31
.end h
.rdata
.align 0
L.43:
.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.37:
.byte 37
.byte 100
.byte 32
.byte 0
.align 0
L.27:
.byte 37
.byte 115
.byte 10
.byte 0
.align 0
L.22:
.byte 119
.byte 104
.byte 105
.byte 108
.byte 101
.byte 0
.align 0
L.21:
.byte 101
.byte 108
.byte 115
.byte 101
.byte 0
.align 0
L.20:
.byte 102
.byte 111
.byte 114
.byte 0
.align 0
L.19:
.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
