Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

sort.sbk (3792B)


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