sort.sbk (4344B)
1 .sdata 2 .globl in 3 .align 2 4 in: 5 .long 0xa 6 .long 0x20 7 .long 0xffffffff 8 .long 0x237 9 .long 0x3 10 .long 0x12 11 .long 0x1 12 .long 0xffffffcd 13 .long 0x315 14 .long 0x0 15 .globl main 16 .text 17 .text 18 .ent main 19 main: 20 ldgp $gp,0($27) 21 lda $sp,-80($sp) 22 .mask 0x4004000,-72 23 .frame $sp,80,$26,48 24 stq $14,0($sp) 25 stq $26,8($sp) 26 .prologue 1 27 lda $16,in 28 lda $17,10 29 jsr $26,sort 30 ldgp $gp,0($26) 31 mov $31,$14 32 br L.5 33 L.2: 34 sll $14,8*(8-4),$27 35 sra $27,8*(8-4),$27 36 sll $27,2,$27 37 ldl $16,in($27) 38 jsr $26,putd 39 ldgp $gp,0($26) 40 lda $16,10 41 jsr $26,putchar 42 ldgp $gp,0($26) 43 L.3: 44 lda $14,1($14) 45 L.5: 46 mov $14,$27 47 lda $25,10 48 cmpult $27,$25,$23 49 bne $23,L.2 50 mov $31,$0 51 L.1: 52 ldq $14,0($sp) 53 ldq $26,8($sp) 54 lda $sp,80($sp) 55 ret 56 .end main 57 .globl putd 58 .text 59 .ent putd 60 putd: 61 ldgp $gp,0($27) 62 lda $sp,-80($sp) 63 .mask 0x5004000,-64 64 .frame $sp,80,$26,48 65 stq $14,0($sp) 66 stq $24,8($sp) 67 stq $26,16($sp) 68 mov $16,$14 69 .prologue 1 70 cmplt $14,$31,$23 71 beq $23,L.7 72 lda $16,45 73 jsr $26,putchar 74 ldgp $gp,0($26) 75 negl $14,$14 76 L.7: 77 divl $14,10,$27 78 cmpeq $27,$31,$23 79 bne $23,L.9 80 divl $14,10,$16 81 jsr $26,putd 82 ldgp $gp,0($26) 83 L.9: 84 reml $14,10,$27 85 lda $16,48($27) 86 jsr $26,putchar 87 ldgp $gp,0($26) 88 mov $31,$0 89 L.6: 90 ldq $14,0($sp) 91 ldq $24,8($sp) 92 ldq $26,16($sp) 93 lda $sp,80($sp) 94 ret 95 .end putd 96 .globl sort 97 .text 98 .ent sort 99 sort: 100 ldgp $gp,0($27) 101 lda $sp,-64($sp) 102 .mask 0x4000000,-64 103 .frame $sp,64,$26,48 104 stq $26,0($sp) 105 stq $16,16($sp) 106 stq $17,24($sp) 107 .prologue 1 108 ldq $27,-48+64($sp) 109 stq $27,xx 110 mov $27,$16 111 mov $31,$17 112 ldl $27,-40+64($sp) 113 subl $27,1,$27 114 stl $27,-40+64($sp) 115 mov $27,$18 116 jsr $26,quick 117 ldgp $gp,0($26) 118 mov $31,$0 119 L.11: 120 ldq $26,0($sp) 121 lda $sp,64($sp) 122 ret 123 .end sort 124 .globl quick 125 .text 126 .ent quick 127 quick: 128 ldgp $gp,0($27) 129 lda $sp,-96($sp) 130 .mask 0x4007800,-64 131 .frame $sp,96,$26,48 132 stq $11,0($sp) 133 stq $12,8($sp) 134 stq $13,16($sp) 135 stq $14,24($sp) 136 stq $26,32($sp) 137 mov $16,$14 138 mov $17,$13 139 mov $18,$12 140 .prologue 1 141 cmplt $13,$12,$23 142 bne $23,L.13 143 br L.12 144 L.13: 145 mov $14,$16 146 mov $13,$17 147 mov $12,$18 148 jsr $26,partition 149 ldgp $gp,0($26) 150 mov $0,$11 151 mov $14,$16 152 mov $13,$17 153 subl $11,1,$18 154 jsr $26,quick 155 ldgp $gp,0($26) 156 mov $14,$16 157 lda $17,1($11) 158 mov $12,$18 159 jsr $26,quick 160 ldgp $gp,0($26) 161 mov $31,$0 162 L.12: 163 ldq $11,0($sp) 164 ldq $12,8($sp) 165 ldq $13,16($sp) 166 ldq $14,24($sp) 167 ldq $26,32($sp) 168 lda $sp,96($sp) 169 ret 170 .end quick 171 .globl partition 172 .text 173 .ent partition 174 partition: 175 ldgp $gp,0($27) 176 lda $sp,-112($sp) 177 .mask 0x4007c00,-72 178 .frame $sp,112,$26,48 179 stq $10,0($sp) 180 stq $11,8($sp) 181 stq $12,16($sp) 182 stq $13,24($sp) 183 stq $14,32($sp) 184 stq $26,40($sp) 185 mov $16,$14 186 mov $17,$13 187 mov $18,$12 188 .prologue 1 189 lda $12,1($12) 190 mov $13,$10 191 sll $10,8*(8-4),$27 192 sra $27,8*(8-4),$27 193 sll $27,2,$27 194 addq $27,$14,$27 195 ldl $11,($27) 196 br L.17 197 L.16: 198 lda $13,1($13) 199 br L.20 200 L.19: 201 lda $13,1($13) 202 L.20: 203 sll $13,8*(8-4),$27 204 sra $27,8*(8-4),$27 205 sll $27,2,$27 206 addq $27,$14,$27 207 ldl $27,($27) 208 cmplt $27,$11,$23 209 bne $23,L.19 210 subl $12,1,$12 211 br L.23 212 L.22: 213 subl $12,1,$12 214 L.23: 215 sll $12,8*(8-4),$27 216 sra $27,8*(8-4),$27 217 sll $27,2,$27 218 addq $27,$14,$27 219 ldl $27,($27) 220 cmple $27,$11,$23 221 beq $23,L.22 222 cmplt $13,$12,$23 223 beq $23,L.25 224 sll $13,8*(8-4),$27 225 sra $27,8*(8-4),$27 226 sll $27,2,$27 227 addq $27,$14,$16 228 sll $12,8*(8-4),$27 229 sra $27,8*(8-4),$27 230 sll $27,2,$27 231 addq $27,$14,$17 232 jsr $26,exchange 233 ldgp $gp,0($26) 234 L.25: 235 L.17: 236 cmplt $13,$12,$23 237 bne $23,L.16 238 sll $10,8*(8-4),$27 239 sra $27,8*(8-4),$27 240 sll $27,2,$27 241 addq $27,$14,$16 242 sll $12,8*(8-4),$27 243 sra $27,8*(8-4),$27 244 sll $27,2,$27 245 addq $27,$14,$17 246 jsr $26,exchange 247 ldgp $gp,0($26) 248 mov $12,$0 249 L.15: 250 ldq $10,0($sp) 251 ldq $11,8($sp) 252 ldq $12,16($sp) 253 ldq $13,24($sp) 254 ldq $14,32($sp) 255 ldq $26,40($sp) 256 lda $sp,112($sp) 257 ret 258 .end partition 259 .globl exchange 260 .text 261 .ent exchange 262 exchange: 263 ldgp $gp,0($27) 264 lda $sp,-112($sp) 265 .mask 0x5006000,-88 266 .frame $sp,112,$26,48 267 stq $13,0($sp) 268 stq $14,8($sp) 269 stq $24,16($sp) 270 stq $26,24($sp) 271 mov $16,$14 272 mov $17,$13 273 .prologue 1 274 lda $16,L.28 275 ldq $27,xx 276 stq $27,-80+112($sp) 277 mov $14,$25 278 subq $25,$27,$25 279 stq $25,-72+112($sp) 280 divq $25,4,$17 281 mov $13,$27 282 ldq $25,-80+112($sp) 283 subq $27,$25,$27 284 divq $27,4,$18 285 jsr $26,printf 286 ldgp $gp,0($26) 287 ldl $27,($14) 288 stl $27,-60+112($sp) 289 ldl $27,($13) 290 stl $27,($14) 291 ldl $27,-60+112($sp) 292 stl $27,($13) 293 mov $31,$0 294 L.27: 295 ldq $13,0($sp) 296 ldq $14,8($sp) 297 ldq $24,16($sp) 298 ldq $26,24($sp) 299 lda $sp,112($sp) 300 ret 301 .end exchange 302 .globl xx 303 .comm xx,8 304 .rdata 305 .align 0 306 L.28: 307 .byte 101 308 .byte 120 309 .byte 99 310 .byte 104 311 .byte 97 312 .byte 110 313 .byte 103 314 .byte 101 315 .byte 40 316 .byte 37 317 .byte 100 318 .byte 44 319 .byte 37 320 .byte 100 321 .byte 41 322 .byte 10 323 .byte 0