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