Itsa me, quake3io!
This commit is contained in:
parent
dbe4ddb103
commit
5b755058f5
1409 changed files with 798983 additions and 798983 deletions
616
lcc/mips/irix/tst/sort.sbk
Normal file → Executable file
616
lcc/mips/irix/tst/sort.sbk
Normal file → Executable file
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue