diff options
Diffstat (limited to 'lcc/mips/irix/tst/sort.sbk')
-rwxr-xr-x | lcc/mips/irix/tst/sort.sbk | 616 |
1 files changed, 308 insertions, 308 deletions
diff --git a/lcc/mips/irix/tst/sort.sbk b/lcc/mips/irix/tst/sort.sbk index 57d33f6..ff3724c 100755 --- a/lcc/mips/irix/tst/sort.sbk +++ b/lcc/mips/irix/tst/sort.sbk @@ -1,308 +1,308 @@ -.set reorder
-.globl in
-.data
-.align 2
-in:
-.word 0xa
-.word 0x20
-.word 0xffffffff
-.word 0x237
-.word 0x3
-.word 0x12
-.word 0x1
-.word 0xffffffcd
-.word 0x315
-.word 0x0
-.globl main
-.text
-.text
-.align 2
-.ent main
-main:
-.frame $sp,32,$31
-.set noreorder
-.cpload $25
-.set reorder
-addu $sp,$sp,-32
-.mask 0xc2000000,-8
-.cprestore 16
-sw $30,20($sp)
-sw $31,24($sp)
-la $4,in
-la $5,10
-jal sort
-move $30,$0
-b L.5
-L.2:
-sll $24,$30,2
-lw $4,in($24)
-jal putd
-la $4,10
-jal putchar
-L.3:
-la $30,1($30)
-L.5:
-move $24,$30
-la $15,10
-bltu $24,$15,L.2
-move $2,$0
-L.1:
-lw $25,16($sp)
-lw $30,20($sp)
-lw $31,24($sp)
-addu $sp,$sp,32
-j $31
-.end main
-.globl putd
-.text
-.align 2
-.ent putd
-putd:
-.frame $sp,32,$31
-.set noreorder
-.cpload $25
-.set reorder
-addu $sp,$sp,-32
-.mask 0xc2000000,-8
-.cprestore 16
-sw $30,20($sp)
-sw $31,24($sp)
-move $30,$4
-bge $30,$0,L.7
-la $4,45
-jal putchar
-negu $30,$30
-L.7:
-la $24,10
-div $24,$30,$24
-beq $24,$0,L.9
-la $24,10
-div $4,$30,$24
-jal putd
-L.9:
-la $24,10
-rem $24,$30,$24
-la $4,48($24)
-jal putchar
-move $2,$0
-L.6:
-lw $25,16($sp)
-lw $30,20($sp)
-lw $31,24($sp)
-addu $sp,$sp,32
-j $31
-.end putd
-.globl sort
-.text
-.align 2
-.ent sort
-sort:
-.frame $sp,24,$31
-.set noreorder
-.cpload $25
-.set reorder
-addu $sp,$sp,-24
-.mask 0x82000000,-4
-.cprestore 16
-sw $31,20($sp)
-sw $4,24($sp)
-sw $5,28($sp)
-lw $24,0+24($sp)
-sw $24,xx
-move $4,$24
-move $5,$0
-lw $24,4+24($sp)
-subu $24,$24,1
-sw $24,4+24($sp)
-move $6,$24
-jal quick
-move $2,$0
-L.11:
-lw $25,16($sp)
-lw $31,20($sp)
-addu $sp,$sp,24
-j $31
-.end sort
-.globl quick
-.text
-.align 2
-.ent quick
-quick:
-.frame $sp,40,$31
-.set noreorder
-.cpload $25
-.set reorder
-addu $sp,$sp,-40
-.mask 0xc2e00000,-4
-sw $21,16($sp)
-sw $22,20($sp)
-sw $23,24($sp)
-.cprestore 28
-sw $30,32($sp)
-sw $31,36($sp)
-move $30,$4
-move $23,$5
-move $22,$6
-blt $23,$22,L.13
-b L.12
-L.13:
-move $4,$30
-move $5,$23
-move $6,$22
-jal partition
-move $21,$2
-move $4,$30
-move $5,$23
-subu $6,$21,1
-jal quick
-move $4,$30
-la $5,1($21)
-move $6,$22
-jal quick
-move $2,$0
-L.12:
-lw $21,16($sp)
-lw $22,20($sp)
-lw $23,24($sp)
-lw $25,28($sp)
-lw $30,32($sp)
-lw $31,36($sp)
-addu $sp,$sp,40
-j $31
-.end quick
-.globl partition
-.text
-.align 2
-.ent partition
-partition:
-.frame $sp,48,$31
-.set noreorder
-.cpload $25
-.set reorder
-addu $sp,$sp,-48
-.mask 0xc2f00000,-8
-sw $20,16($sp)
-sw $21,20($sp)
-sw $22,24($sp)
-sw $23,28($sp)
-.cprestore 32
-sw $30,36($sp)
-sw $31,40($sp)
-move $30,$4
-move $23,$5
-move $22,$6
-la $22,1($22)
-move $20,$23
-sll $24,$20,2
-addu $24,$24,$30
-lw $21,($24)
-b L.17
-L.16:
-la $23,1($23)
-b L.20
-L.19:
-la $23,1($23)
-L.20:
-sll $24,$23,2
-addu $24,$24,$30
-lw $24,($24)
-blt $24,$21,L.19
-subu $22,$22,1
-b L.23
-L.22:
-subu $22,$22,1
-L.23:
-sll $24,$22,2
-addu $24,$24,$30
-lw $24,($24)
-bgt $24,$21,L.22
-bge $23,$22,L.25
-sll $24,$23,2
-addu $4,$24,$30
-sll $24,$22,2
-addu $5,$24,$30
-jal exchange
-L.25:
-L.17:
-blt $23,$22,L.16
-sll $24,$20,2
-addu $4,$24,$30
-sll $24,$22,2
-addu $5,$24,$30
-jal exchange
-move $2,$22
-L.15:
-lw $20,16($sp)
-lw $21,20($sp)
-lw $22,24($sp)
-lw $23,28($sp)
-lw $25,32($sp)
-lw $30,36($sp)
-lw $31,40($sp)
-addu $sp,$sp,48
-j $31
-.end partition
-.globl exchange
-.text
-.align 2
-.ent exchange
-exchange:
-.frame $sp,40,$31
-.set noreorder
-.cpload $25
-.set reorder
-addu $sp,$sp,-40
-.mask 0xc2800000,-12
-sw $23,16($sp)
-.cprestore 20
-sw $30,24($sp)
-sw $31,28($sp)
-move $30,$4
-move $23,$5
-la $4,L.28
-lw $24,xx
-la $15,4
-move $14,$30
-subu $14,$14,$24
-div $5,$14,$15
-move $14,$23
-subu $24,$14,$24
-div $6,$24,$15
-jal printf
-lw $24,($30)
-sw $24,-4+40($sp)
-lw $24,($23)
-sw $24,($30)
-lw $24,-4+40($sp)
-sw $24,($23)
-move $2,$0
-L.27:
-lw $23,16($sp)
-lw $25,20($sp)
-lw $30,24($sp)
-lw $31,28($sp)
-addu $sp,$sp,40
-j $31
-.end exchange
-.globl xx
-.comm xx,4
-.rdata
-.align 0
-L.28:
-.byte 101
-.byte 120
-.byte 99
-.byte 104
-.byte 97
-.byte 110
-.byte 103
-.byte 101
-.byte 40
-.byte 37
-.byte 100
-.byte 44
-.byte 37
-.byte 100
-.byte 41
-.byte 10
-.byte 0
+.set reorder +.globl in +.data +.align 2 +in: +.word 0xa +.word 0x20 +.word 0xffffffff +.word 0x237 +.word 0x3 +.word 0x12 +.word 0x1 +.word 0xffffffcd +.word 0x315 +.word 0x0 +.globl main +.text +.text +.align 2 +.ent main +main: +.frame $sp,32,$31 +.set noreorder +.cpload $25 +.set reorder +addu $sp,$sp,-32 +.mask 0xc2000000,-8 +.cprestore 16 +sw $30,20($sp) +sw $31,24($sp) +la $4,in +la $5,10 +jal sort +move $30,$0 +b L.5 +L.2: +sll $24,$30,2 +lw $4,in($24) +jal putd +la $4,10 +jal putchar +L.3: +la $30,1($30) +L.5: +move $24,$30 +la $15,10 +bltu $24,$15,L.2 +move $2,$0 +L.1: +lw $25,16($sp) +lw $30,20($sp) +lw $31,24($sp) +addu $sp,$sp,32 +j $31 +.end main +.globl putd +.text +.align 2 +.ent putd +putd: +.frame $sp,32,$31 +.set noreorder +.cpload $25 +.set reorder +addu $sp,$sp,-32 +.mask 0xc2000000,-8 +.cprestore 16 +sw $30,20($sp) +sw $31,24($sp) +move $30,$4 +bge $30,$0,L.7 +la $4,45 +jal putchar +negu $30,$30 +L.7: +la $24,10 +div $24,$30,$24 +beq $24,$0,L.9 +la $24,10 +div $4,$30,$24 +jal putd +L.9: +la $24,10 +rem $24,$30,$24 +la $4,48($24) +jal putchar +move $2,$0 +L.6: +lw $25,16($sp) +lw $30,20($sp) +lw $31,24($sp) +addu $sp,$sp,32 +j $31 +.end putd +.globl sort +.text +.align 2 +.ent sort +sort: +.frame $sp,24,$31 +.set noreorder +.cpload $25 +.set reorder +addu $sp,$sp,-24 +.mask 0x82000000,-4 +.cprestore 16 +sw $31,20($sp) +sw $4,24($sp) +sw $5,28($sp) +lw $24,0+24($sp) +sw $24,xx +move $4,$24 +move $5,$0 +lw $24,4+24($sp) +subu $24,$24,1 +sw $24,4+24($sp) +move $6,$24 +jal quick +move $2,$0 +L.11: +lw $25,16($sp) +lw $31,20($sp) +addu $sp,$sp,24 +j $31 +.end sort +.globl quick +.text +.align 2 +.ent quick +quick: +.frame $sp,40,$31 +.set noreorder +.cpload $25 +.set reorder +addu $sp,$sp,-40 +.mask 0xc2e00000,-4 +sw $21,16($sp) +sw $22,20($sp) +sw $23,24($sp) +.cprestore 28 +sw $30,32($sp) +sw $31,36($sp) +move $30,$4 +move $23,$5 +move $22,$6 +blt $23,$22,L.13 +b L.12 +L.13: +move $4,$30 +move $5,$23 +move $6,$22 +jal partition +move $21,$2 +move $4,$30 +move $5,$23 +subu $6,$21,1 +jal quick +move $4,$30 +la $5,1($21) +move $6,$22 +jal quick +move $2,$0 +L.12: +lw $21,16($sp) +lw $22,20($sp) +lw $23,24($sp) +lw $25,28($sp) +lw $30,32($sp) +lw $31,36($sp) +addu $sp,$sp,40 +j $31 +.end quick +.globl partition +.text +.align 2 +.ent partition +partition: +.frame $sp,48,$31 +.set noreorder +.cpload $25 +.set reorder +addu $sp,$sp,-48 +.mask 0xc2f00000,-8 +sw $20,16($sp) +sw $21,20($sp) +sw $22,24($sp) +sw $23,28($sp) +.cprestore 32 +sw $30,36($sp) +sw $31,40($sp) +move $30,$4 +move $23,$5 +move $22,$6 +la $22,1($22) +move $20,$23 +sll $24,$20,2 +addu $24,$24,$30 +lw $21,($24) +b L.17 +L.16: +la $23,1($23) +b L.20 +L.19: +la $23,1($23) +L.20: +sll $24,$23,2 +addu $24,$24,$30 +lw $24,($24) +blt $24,$21,L.19 +subu $22,$22,1 +b L.23 +L.22: +subu $22,$22,1 +L.23: +sll $24,$22,2 +addu $24,$24,$30 +lw $24,($24) +bgt $24,$21,L.22 +bge $23,$22,L.25 +sll $24,$23,2 +addu $4,$24,$30 +sll $24,$22,2 +addu $5,$24,$30 +jal exchange +L.25: +L.17: +blt $23,$22,L.16 +sll $24,$20,2 +addu $4,$24,$30 +sll $24,$22,2 +addu $5,$24,$30 +jal exchange +move $2,$22 +L.15: +lw $20,16($sp) +lw $21,20($sp) +lw $22,24($sp) +lw $23,28($sp) +lw $25,32($sp) +lw $30,36($sp) +lw $31,40($sp) +addu $sp,$sp,48 +j $31 +.end partition +.globl exchange +.text +.align 2 +.ent exchange +exchange: +.frame $sp,40,$31 +.set noreorder +.cpload $25 +.set reorder +addu $sp,$sp,-40 +.mask 0xc2800000,-12 +sw $23,16($sp) +.cprestore 20 +sw $30,24($sp) +sw $31,28($sp) +move $30,$4 +move $23,$5 +la $4,L.28 +lw $24,xx +la $15,4 +move $14,$30 +subu $14,$14,$24 +div $5,$14,$15 +move $14,$23 +subu $24,$14,$24 +div $6,$24,$15 +jal printf +lw $24,($30) +sw $24,-4+40($sp) +lw $24,($23) +sw $24,($30) +lw $24,-4+40($sp) +sw $24,($23) +move $2,$0 +L.27: +lw $23,16($sp) +lw $25,20($sp) +lw $30,24($sp) +lw $31,28($sp) +addu $sp,$sp,40 +j $31 +.end exchange +.globl xx +.comm xx,4 +.rdata +.align 0 +L.28: +.byte 101 +.byte 120 +.byte 99 +.byte 104 +.byte 97 +.byte 110 +.byte 103 +.byte 101 +.byte 40 +.byte 37 +.byte 100 +.byte 44 +.byte 37 +.byte 100 +.byte 41 +.byte 10 +.byte 0 |