.set reorder
.globl addpoint
.text
.align 2
.ent addpoint
addpoint:
.frame $sp,0,$31
.set noreorder
.cpload $25
sw $5,4($sp)
sw $6,8($sp)
sw $7,12($sp)
lw $24,4+0($sp)
lw $15,12+0($sp)
addu $24,$24,$15
sw $24,4+0($sp)
lw $24,8+0($sp)
lw $15,16+0($sp)
sw $24,8+0($sp)
la $8,4+0($sp)
lw $3,0($8)
lw $9,4($8)
sw $3,0($4)
sw $9,4($4)
L.1:
j $31
.end addpoint
.globl canonrect
.ent canonrect
canonrect:
.frame $sp,32,$31
addu $sp,$sp,-32
.mask 0x40e00000,-20
sw $21,0($sp)
sw $22,4($sp)
sw $23,8($sp)
sw $30,12($sp)
sw $5,36($sp)
sw $6,40($sp)
sw $7,44($sp)
lw $24,4+32($sp)
lw $15,12+32($sp)
bge $24,$15,L.10
lw $30,4+32($sp)
b L.11
L.10:
lw $30,12+32($sp)
L.11:
sw $30,-16+32($sp)
lw $24,8+32($sp)
lw $15,16+32($sp)
bge $24,$15,L.20
lw $23,8+32($sp)
b L.21
L.20:
lw $23,16+32($sp)
L.21:
sw $23,-12+32($sp)
ble $24,$15,L.26
lw $22,4+32($sp)
b L.27
L.26:
lw $22,12+32($sp)
L.27:
sw $22,-8+32($sp)
ble $24,$15,L.37
lw $21,8+32($sp)
b L.38
L.37:
lw $21,16+32($sp)
L.38:
sw $21,-4+32($sp)
la $8,-16+32($sp)
lw $3,8($8)
lw $9,12($8)
sw $3,8($4)
sw $9,12($4)
L.5:
lw $21,0($sp)
lw $22,4($sp)
lw $23,8($sp)
lw $30,12($sp)
addu $sp,$sp,32
.end canonrect
.globl makepoint
.ent makepoint
makepoint:
.frame $sp,8,$31
addu $sp,$sp,-8
sw $5,-8+8($sp)
sw $6,-4+8($sp)
la $8,-8+8($sp)
L.39:
addu $sp,$sp,8
.end makepoint
.globl makerect
.ent makerect
makerect:
.frame $sp,48,$31
addu $sp,$sp,-48
.mask 0x82000000,-24
.cprestore 20
sw $31,24($sp)
sw $4,48($sp)
sw $5,52($sp)
sw $6,56($sp)
sw $7,60($sp)
la $24,-16+48($sp)
la $8,4+48($sp)
sw $3,0($24)
sw $9,4($24)
la $24,-8+48($sp)
la $8,12+48($sp)
lw $4,0+48($sp)
la $8,-16+48($sp)
sw $3,4($29)
sw $9,8($29)
sw $3,12($29)
sw $9,16($29)
lw $5,4($sp)
lw $6,8($sp)
lw $7,12($sp)
jal canonrect
L.42:
lw $25,20($sp)
lw $31,24($sp)
addu $sp,$sp,48
.end makerect
.globl ptinrect
.ent ptinrect
ptinrect:
.mask 0x40000000,-8
sw $30,0($sp)
sw $4,8($sp)
sw $5,12($sp)
sw $6,16($sp)
sw $7,20($sp)
lw $24,0+8($sp)
lw $15,8+8($sp)
blt $24,$15,L.53
lw $15,16+8($sp)
bge $24,$15,L.53
lw $24,4+8($sp)
lw $15,12+8($sp)
lw $15,20+8($sp)
la $30,1
b L.54
L.53:
move $30,$0
L.54:
move $2,$30
L.45:
lw $30,0($sp)
.end ptinrect
.globl y
.sdata
.align 0
y:
.byte 97
.byte 98
.byte 0
.globl odd
.ent odd
odd:
.mask 0x82000000,-12
.cprestore 16
sw $31,20($sp)
sw $4,32($sp)
la $24,-3+32($sp)
la $8,0+32($sp)
ulhu $3,0($8)
ush $3,0($24)
lbu $3,2($8)
sb $3,2($24)
la $4,L.56
la $5,-3+32($sp)
jal printf
move $2,$0
L.55:
lw $25,16($sp)
lw $31,20($sp)
.end odd
.rdata
L.58:
.word 0x0
L.59:
.word 0x140
L.60:
.word 0xffffffff
.word 0x1
.word 0x14
.word 0x12c
.word 0x1f4
.word 0x190
.globl main
.ent main
main:
.frame $sp,144,$31
addu $sp,$sp,-144
.mask 0xc2000000,-112
.cprestore 24
sw $30,28($sp)
sw $31,32($sp)
la $24,-64+144($sp)
la $8,L.58
la $24,-72+144($sp)
la $8,L.59
la $24,-32+144($sp)
la $8,L.60
addu $8,$8,32
addu $10,$24,32
L.76:
addu $8,$8,-8
addu $10,$10,-8
sw $3,0($10)
sw $9,4($10)
bltu $24,$10,L.76
la $4,-80+144($sp)
la $24,-10
move $5,$24
move $6,$24
jal makepoint
la $4,-88+144($sp)
la $8,-72+144($sp)
la $8,-80+144($sp)
jal addpoint
la $4,-96+144($sp)
la $24,10
la $4,-104+144($sp)
la $8,-64+144($sp)
la $8,-96+144($sp)
la $4,-48+144($sp)
la $8,-88+144($sp)
la $8,-104+144($sp)
jal makerect
b L.64
L.61:
la $4,-56+144($sp)
sll $24,$30,3
la $15,-32+144($sp)
addu $15,$24,$15
lw $5,($15)
la $15,-28+144($sp)
lw $6,($24)
la $4,L.65
lw $5,($24)
lw $6,-52+144($sp)
la $8,-56+144($sp)
sw $3,0($29)
sw $9,4($29)
lw $4,0($sp)
la $8,-48+144($sp)
sw $3,8($29)
sw $9,12($29)
sw $3,16($29)
sw $9,20($29)
jal ptinrect
bne $2,$0,L.68
la $4,L.70
L.68:
la $4,L.71
lw $5,-48+144($sp)
lw $6,-44+144($sp)
lw $7,-40+144($sp)
lw $24,-36+144($sp)
sw $24,16($sp)
L.62:
la $30,1($30)
L.64:
move $24,$30
la $15,4
bltu $24,$15,L.61
la $8,y
sh $3,0($29)
sb $3,2($29)
jal odd
move $4,$0
jal exit
L.57:
lw $25,24($sp)
lw $30,28($sp)
lw $31,32($sp)
addu $sp,$sp,144
.end main
L.71:
.byte 119
.byte 105
.byte 116
.byte 104
.byte 110
.byte 32
.byte 91
.byte 37
.byte 100
.byte 44
.byte 59
.byte 93
.byte 10
L.70:
.byte 111
L.65:
.byte 40
.byte 41
.byte 115
L.56: