Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

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