8q.sbk (2680B)
1 .globl main 2 .text 3 .text 4 .ent main 5 main: 6 ldgp $gp,0($27) 7 lda $sp,-80($sp) 8 .mask 0x4004000,-72 9 .frame $sp,80,$26,48 10 stq $14,0($sp) 11 stq $26,8($sp) 12 .prologue 1 13 mov $31,$14 14 L.2: 15 sll $14,8*(8-4),$27 16 sra $27,8*(8-4),$27 17 sll $27,2,$27 18 lda $25,1 19 stl $25,down($27) 20 stl $25,up($27) 21 L.3: 22 lda $14,1($14) 23 cmplt $14,15,$23 24 bne $23,L.2 25 mov $31,$14 26 L.6: 27 sll $14,8*(8-4),$27 28 sra $27,8*(8-4),$27 29 sll $27,2,$27 30 lda $25,1 31 stl $25,rows($27) 32 L.7: 33 lda $14,1($14) 34 cmplt $14,8,$23 35 bne $23,L.6 36 mov $31,$16 37 jsr $26,queens 38 ldgp $gp,0($26) 39 mov $31,$0 40 L.1: 41 ldq $14,0($sp) 42 ldq $26,8($sp) 43 lda $sp,80($sp) 44 ret 45 .end main 46 .globl queens 47 .text 48 .ent queens 49 queens: 50 ldgp $gp,0($27) 51 lda $sp,-80($sp) 52 .mask 0x4006000,-64 53 .frame $sp,80,$26,48 54 stq $13,0($sp) 55 stq $14,8($sp) 56 stq $26,16($sp) 57 mov $16,$14 58 .prologue 1 59 mov $31,$13 60 L.11: 61 sll $13,8*(8-4),$25 62 sra $25,8*(8-4),$25 63 sll $25,2,$25 64 ldl $25,rows($25) 65 cmpeq $25,$31,$23 66 bne $23,L.15 67 subl $13,$14,$25 68 lda $25,7($25) 69 sll $25,8*(8-4),$25 70 sra $25,8*(8-4),$25 71 sll $25,2,$25 72 ldl $25,up($25) 73 cmpeq $25,$31,$23 74 bne $23,L.15 75 addl $13,$14,$25 76 sll $25,8*(8-4),$25 77 sra $25,8*(8-4),$25 78 sll $25,2,$25 79 ldl $25,down($25) 80 cmpeq $25,$31,$23 81 bne $23,L.15 82 addl $13,$14,$25 83 sll $25,8*(8-4),$25 84 sra $25,8*(8-4),$25 85 sll $25,2,$25 86 stl $31,down($25) 87 subl $13,$14,$25 88 lda $25,7($25) 89 sll $25,8*(8-4),$25 90 sra $25,8*(8-4),$25 91 sll $25,2,$25 92 stl $31,up($25) 93 sll $13,8*(8-4),$25 94 sra $25,8*(8-4),$25 95 sll $25,2,$25 96 stl $31,rows($25) 97 sll $14,8*(8-4),$27 98 sra $27,8*(8-4),$27 99 sll $27,2,$27 100 stl $13,x($27) 101 cmpeq $14,7,$23 102 beq $23,L.17 103 jsr $26,print 104 ldgp $gp,0($26) 105 br L.18 106 L.17: 107 lda $16,1($14) 108 jsr $26,queens 109 ldgp $gp,0($26) 110 L.18: 111 lda $27,1 112 addl $13,$14,$25 113 sll $25,8*(8-4),$25 114 sra $25,8*(8-4),$25 115 sll $25,2,$25 116 stl $27,down($25) 117 subl $13,$14,$25 118 lda $25,7($25) 119 sll $25,8*(8-4),$25 120 sra $25,8*(8-4),$25 121 sll $25,2,$25 122 stl $27,up($25) 123 sll $13,8*(8-4),$25 124 sra $25,8*(8-4),$25 125 sll $25,2,$25 126 stl $27,rows($25) 127 L.15: 128 L.12: 129 lda $13,1($13) 130 cmplt $13,8,$23 131 bne $23,L.11 132 mov $31,$0 133 L.10: 134 ldq $13,0($sp) 135 ldq $14,8($sp) 136 ldq $26,16($sp) 137 lda $sp,80($sp) 138 ret 139 .end queens 140 .globl print 141 .text 142 .ent print 143 print: 144 ldgp $gp,0($27) 145 lda $sp,-80($sp) 146 .mask 0x4004000,-72 147 .frame $sp,80,$26,48 148 stq $14,0($sp) 149 stq $26,8($sp) 150 .prologue 1 151 mov $31,$14 152 L.20: 153 lda $16,L.24 154 sll $14,8*(8-4),$27 155 sra $27,8*(8-4),$27 156 sll $27,2,$27 157 ldl $27,x($27) 158 lda $17,49($27) 159 jsr $26,printf 160 ldgp $gp,0($26) 161 L.21: 162 lda $14,1($14) 163 cmplt $14,8,$23 164 bne $23,L.20 165 lda $16,L.25 166 jsr $26,printf 167 ldgp $gp,0($26) 168 mov $31,$0 169 L.19: 170 ldq $14,0($sp) 171 ldq $26,8($sp) 172 lda $sp,80($sp) 173 ret 174 .end print 175 .globl x 176 .comm x,32 177 .globl rows 178 .comm rows,32 179 .globl down 180 .comm down,60 181 .globl up 182 .comm up,60 183 .rdata 184 .align 0 185 L.25: 186 .byte 10 187 .byte 0 188 .align 0 189 L.24: 190 .byte 37 191 .byte 99 192 .byte 32 193 .byte 0