8q.sbk (2088B)
1 .set reorder 2 .globl main 3 .text 4 .text 5 .align 2 6 .ent main 7 main: 8 .frame $sp,32,$31 9 .set noreorder 10 .cpload $25 11 .set reorder 12 addu $sp,$sp,-32 13 .mask 0xc2000000,-8 14 .cprestore 16 15 sw $30,20($sp) 16 sw $31,24($sp) 17 move $30,$0 18 L.2: 19 sll $24,$30,2 20 la $15,1 21 sw $15,down($24) 22 sw $15,up($24) 23 L.3: 24 la $30,1($30) 25 la $24,15 26 blt $30,$24,L.2 27 move $30,$0 28 L.6: 29 sll $24,$30,2 30 la $15,1 31 sw $15,rows($24) 32 L.7: 33 la $30,1($30) 34 la $24,8 35 blt $30,$24,L.6 36 move $4,$0 37 jal queens 38 move $2,$0 39 L.1: 40 lw $25,16($sp) 41 lw $30,20($sp) 42 lw $31,24($sp) 43 addu $sp,$sp,32 44 j $31 45 .end main 46 .globl queens 47 .text 48 .align 2 49 .ent queens 50 queens: 51 .frame $sp,32,$31 52 .set noreorder 53 .cpload $25 54 .set reorder 55 addu $sp,$sp,-32 56 .mask 0xc2800000,-4 57 sw $23,16($sp) 58 .cprestore 20 59 sw $30,24($sp) 60 sw $31,28($sp) 61 move $30,$4 62 move $23,$0 63 L.11: 64 sll $15,$23,2 65 lw $15,rows($15) 66 beq $15,$0,L.15 67 subu $15,$23,$30 68 sll $15,$15,2 69 lw $15,up+28($15) 70 beq $15,$0,L.15 71 addu $15,$23,$30 72 sll $15,$15,2 73 lw $15,down($15) 74 beq $15,$0,L.15 75 addu $15,$23,$30 76 sll $15,$15,2 77 sw $0,down($15) 78 subu $15,$23,$30 79 sll $15,$15,2 80 sw $0,up+28($15) 81 sll $15,$23,2 82 sw $0,rows($15) 83 sll $24,$30,2 84 sw $23,x($24) 85 la $24,7 86 bne $30,$24,L.19 87 jal print 88 b L.20 89 L.19: 90 la $4,1($30) 91 jal queens 92 L.20: 93 la $24,1 94 addu $15,$23,$30 95 sll $15,$15,2 96 sw $24,down($15) 97 subu $15,$23,$30 98 sll $15,$15,2 99 sw $24,up+28($15) 100 sll $15,$23,2 101 sw $24,rows($15) 102 L.15: 103 L.12: 104 la $23,1($23) 105 la $24,8 106 blt $23,$24,L.11 107 move $2,$0 108 L.10: 109 lw $23,16($sp) 110 lw $25,20($sp) 111 lw $30,24($sp) 112 lw $31,28($sp) 113 addu $sp,$sp,32 114 j $31 115 .end queens 116 .globl print 117 .text 118 .align 2 119 .ent print 120 print: 121 .frame $sp,32,$31 122 .set noreorder 123 .cpload $25 124 .set reorder 125 addu $sp,$sp,-32 126 .mask 0xc2000000,-8 127 .cprestore 16 128 sw $30,20($sp) 129 sw $31,24($sp) 130 move $30,$0 131 L.23: 132 la $4,L.27 133 sll $24,$30,2 134 lw $24,x($24) 135 la $5,49($24) 136 jal printf 137 L.24: 138 la $30,1($30) 139 la $24,8 140 blt $30,$24,L.23 141 la $4,L.28 142 jal printf 143 move $2,$0 144 L.22: 145 lw $25,16($sp) 146 lw $30,20($sp) 147 lw $31,24($sp) 148 addu $sp,$sp,32 149 j $31 150 .end print 151 .globl x 152 .comm x,32 153 .globl rows 154 .comm rows,32 155 .globl down 156 .comm down,60 157 .globl up 158 .comm up,60 159 .rdata 160 .align 0 161 L.28: 162 .byte 10 163 .byte 0 164 .align 0 165 L.27: 166 .byte 37 167 .byte 99 168 .byte 32 169 .byte 0