.sdata | |
.globl in | |
.align 2 | |
in: | |
.long 0xa | |
.long 0x20 | |
.long 0xffffffff | |
.long 0x237 | |
.long 0x3 | |
.long 0x12 | |
.long 0x1 | |
.long 0xffffffcd | |
.long 0x315 | |
.long 0x0 | |
.globl main | |
.text | |
.text | |
.ent main | |
main: | |
ldgp $gp,0($27) | |
lda $sp,-80($sp) | |
.mask 0x4004000,-72 | |
.frame $sp,80,$26,48 | |
stq $14,0($sp) | |
stq $26,8($sp) | |
.prologue 1 | |
lda $16,in | |
lda $17,10 | |
jsr $26,sort | |
ldgp $gp,0($26) | |
mov $31,$14 | |
br L.5 | |
L.2: | |
sll $14,8*(8-4),$27 | |
sra $27,8*(8-4),$27 | |
sll $27,2,$27 | |
ldl $16,in($27) | |
jsr $26,putd | |
ldgp $gp,0($26) | |
lda $16,10 | |
jsr $26,putchar | |
ldgp $gp,0($26) | |
L.3: | |
lda $14,1($14) | |
L.5: | |
mov $14,$27 | |
lda $25,10 | |
cmpult $27,$25,$23 | |
bne $23,L.2 | |
mov $31,$0 | |
L.1: | |
ldq $14,0($sp) | |
ldq $26,8($sp) | |
lda $sp,80($sp) | |
ret | |
.end main | |
.globl putd | |
.text | |
.ent putd | |
putd: | |
ldgp $gp,0($27) | |
lda $sp,-80($sp) | |
.mask 0x5004000,-64 | |
.frame $sp,80,$26,48 | |
stq $14,0($sp) | |
stq $24,8($sp) | |
stq $26,16($sp) | |
mov $16,$14 | |
.prologue 1 | |
cmplt $14,$31,$23 | |
beq $23,L.7 | |
lda $16,45 | |
jsr $26,putchar | |
ldgp $gp,0($26) | |
negl $14,$14 | |
L.7: | |
divl $14,10,$27 | |
cmpeq $27,$31,$23 | |
bne $23,L.9 | |
divl $14,10,$16 | |
jsr $26,putd | |
ldgp $gp,0($26) | |
L.9: | |
reml $14,10,$27 | |
lda $16,48($27) | |
jsr $26,putchar | |
ldgp $gp,0($26) | |
mov $31,$0 | |
L.6: | |
ldq $14,0($sp) | |
ldq $24,8($sp) | |
ldq $26,16($sp) | |
lda $sp,80($sp) | |
ret | |
.end putd | |
.globl sort | |
.text | |
.ent sort | |
sort: | |
ldgp $gp,0($27) | |
lda $sp,-64($sp) | |
.mask 0x4000000,-64 | |
.frame $sp,64,$26,48 | |
stq $26,0($sp) | |
stq $16,16($sp) | |
stq $17,24($sp) | |
.prologue 1 | |
ldq $27,-48+64($sp) | |
stq $27,xx | |
mov $27,$16 | |
mov $31,$17 | |
ldl $27,-40+64($sp) | |
subl $27,1,$27 | |
stl $27,-40+64($sp) | |
mov $27,$18 | |
jsr $26,quick | |
ldgp $gp,0($26) | |
mov $31,$0 | |
L.11: | |
ldq $26,0($sp) | |
lda $sp,64($sp) | |
ret | |
.end sort | |
.globl quick | |
.text | |
.ent quick | |
quick: | |
ldgp $gp,0($27) | |
lda $sp,-96($sp) | |
.mask 0x4007800,-64 | |
.frame $sp,96,$26,48 | |
stq $11,0($sp) | |
stq $12,8($sp) | |
stq $13,16($sp) | |
stq $14,24($sp) | |
stq $26,32($sp) | |
mov $16,$14 | |
mov $17,$13 | |
mov $18,$12 | |
.prologue 1 | |
cmplt $13,$12,$23 | |
bne $23,L.13 | |
mov $31,$0 | |
br L.12 | |
L.13: | |
mov $14,$16 | |
mov $13,$17 | |
mov $12,$18 | |
jsr $26,partition | |
ldgp $gp,0($26) | |
mov $0,$11 | |
mov $14,$16 | |
mov $13,$17 | |
subl $11,1,$18 | |
jsr $26,quick | |
ldgp $gp,0($26) | |
mov $14,$16 | |
lda $17,1($11) | |
mov $12,$18 | |
jsr $26,quick | |
ldgp $gp,0($26) | |
mov $31,$0 | |
L.12: | |
ldq $11,0($sp) | |
ldq $12,8($sp) | |
ldq $13,16($sp) | |
ldq $14,24($sp) | |
ldq $26,32($sp) | |
lda $sp,96($sp) | |
ret | |
.end quick | |
.globl partition | |
.text | |
.ent partition | |
partition: | |
ldgp $gp,0($27) | |
lda $sp,-112($sp) | |
.mask 0x4007c00,-72 | |
.frame $sp,112,$26,48 | |
stq $10,0($sp) | |
stq $11,8($sp) | |
stq $12,16($sp) | |
stq $13,24($sp) | |
stq $14,32($sp) | |
stq $26,40($sp) | |
mov $16,$14 | |
mov $17,$13 | |
mov $18,$12 | |
.prologue 1 | |
lda $12,1($12) | |
mov $13,$10 | |
sll $10,8*(8-4),$27 | |
sra $27,8*(8-4),$27 | |
sll $27,2,$27 | |
addq $27,$14,$27 | |
ldl $11,($27) | |
br L.17 | |
L.16: | |
lda $13,1($13) | |
br L.20 | |
L.19: | |
lda $13,1($13) | |
L.20: | |
sll $13,8*(8-4),$27 | |
sra $27,8*(8-4),$27 | |
sll $27,2,$27 | |
addq $27,$14,$27 | |
ldl $27,($27) | |
cmplt $27,$11,$23 | |
bne $23,L.19 | |
subl $12,1,$12 | |
br L.23 | |
L.22: | |
subl $12,1,$12 | |
L.23: | |
sll $12,8*(8-4),$27 | |
sra $27,8*(8-4),$27 | |
sll $27,2,$27 | |
addq $27,$14,$27 | |
ldl $27,($27) | |
cmple $27,$11,$23 | |
beq $23,L.22 | |
cmplt $13,$12,$23 | |
beq $23,L.25 | |
sll $13,8*(8-4),$27 | |
sra $27,8*(8-4),$27 | |
sll $27,2,$27 | |
addq $27,$14,$16 | |
sll $12,8*(8-4),$27 | |
sra $27,8*(8-4),$27 | |
sll $27,2,$27 | |
addq $27,$14,$17 | |
jsr $26,exchange | |
ldgp $gp,0($26) | |
L.25: | |
L.17: | |
cmplt $13,$12,$23 | |
bne $23,L.16 | |
sll $10,8*(8-4),$27 | |
sra $27,8*(8-4),$27 | |
sll $27,2,$27 | |
addq $27,$14,$16 | |
sll $12,8*(8-4),$27 | |
sra $27,8*(8-4),$27 | |
sll $27,2,$27 | |
addq $27,$14,$17 | |
jsr $26,exchange | |
ldgp $gp,0($26) | |
mov $12,$0 | |
L.15: | |
ldq $10,0($sp) | |
ldq $11,8($sp) | |
ldq $12,16($sp) | |
ldq $13,24($sp) | |
ldq $14,32($sp) | |
ldq $26,40($sp) | |
lda $sp,112($sp) | |
ret | |
.end partition | |
.globl exchange | |
.text | |
.ent exchange | |
exchange: | |
ldgp $gp,0($27) | |
lda $sp,-112($sp) | |
.mask 0x5006000,-88 | |
.frame $sp,112,$26,48 | |
stq $13,0($sp) | |
stq $14,8($sp) | |
stq $24,16($sp) | |
stq $26,24($sp) | |
mov $16,$14 | |
mov $17,$13 | |
.prologue 1 | |
lda $16,L.28 | |
ldq $27,xx | |
stq $27,-80+112($sp) | |
mov $14,$25 | |
subq $25,$27,$25 | |
stq $25,-72+112($sp) | |
divq $25,4,$17 | |
mov $13,$27 | |
ldq $25,-80+112($sp) | |
subq $27,$25,$27 | |
divq $27,4,$18 | |
jsr $26,printf | |
ldgp $gp,0($26) | |
ldl $27,($14) | |
stl $27,-60+112($sp) | |
ldl $27,($13) | |
stl $27,($14) | |
ldl $27,-60+112($sp) | |
stl $27,($13) | |
mov $31,$0 | |
L.27: | |
ldq $13,0($sp) | |
ldq $14,8($sp) | |
ldq $24,16($sp) | |
ldq $26,24($sp) | |
lda $sp,112($sp) | |
ret | |
.end exchange | |
.globl xx | |
.comm xx,8 | |
.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 |