blob: 128feb3164bc93609787d72be666e18d571860f7 [file] [log] [blame]
.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