.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