diff options
Diffstat (limited to 'code/tools/lcc/x86/linux/tst/sort.sbk')
-rw-r--r-- | code/tools/lcc/x86/linux/tst/sort.sbk | 330 |
1 files changed, 0 insertions, 330 deletions
diff --git a/code/tools/lcc/x86/linux/tst/sort.sbk b/code/tools/lcc/x86/linux/tst/sort.sbk deleted file mode 100644 index 25cc4d9..0000000 --- a/code/tools/lcc/x86/linux/tst/sort.sbk +++ /dev/null @@ -1,330 +0,0 @@ -.data -.globl in -.align 4 -.type in,@object -in: -.long 10 -.long 32 -.long -1 -.long 567 -.long 3 -.long 18 -.long 1 -.long -51 -.long 789 -.long 0 -.size in,40 -.globl main -.text -.align 16 -.type main,@function -main: -pushl %ebp -pushl %ebx -pushl %esi -pushl %edi -movl %esp,%ebp -subl $4,%esp -pushl $10 -pushl $in -call sort -addl $8,%esp -movl $0,-4(%ebp) -jmp .LC5 -.LC2: -movl -4(%ebp),%edi -pushl in(,%edi,4) -call putd -addl $4,%esp -pushl $10 -call putchar -addl $4,%esp -.LC3: -incl -4(%ebp) -.LC5: -movl -4(%ebp),%edi -cmpl $10,%edi -jb .LC2 -movl $0,%eax -.LC1: -movl %ebp,%esp -popl %edi -popl %esi -popl %ebx -popl %ebp -ret -.Lf6: -.size main,.Lf6-main -.globl putd -.align 16 -.type putd,@function -putd: -pushl %ebp -pushl %ebx -pushl %esi -pushl %edi -movl %esp,%ebp -cmpl $0,20(%ebp) -jge .LC8 -pushl $45 -call putchar -addl $4,%esp -negl 20(%ebp) -.LC8: -movl 20(%ebp),%eax -movl $10,%ecx -cdq -idivl %ecx -cmpl $0,%eax -je .LC10 -movl 20(%ebp),%eax -movl $10,%ecx -cdq -idivl %ecx -pushl %eax -call putd -addl $4,%esp -.LC10: -movl 20(%ebp),%eax -movl $10,%ecx -cdq -idivl %ecx -leal 48(%edx),%edi -pushl %edi -call putchar -addl $4,%esp -movl $0,%eax -.LC7: -movl %ebp,%esp -popl %edi -popl %esi -popl %ebx -popl %ebp -ret -.Lf12: -.size putd,.Lf12-putd -.globl sort -.align 16 -.type sort,@function -sort: -pushl %ebp -pushl %ebx -pushl %esi -pushl %edi -movl %esp,%ebp -movl 24(%ebp),%edi -subl $1,%edi -movl %edi,24(%ebp) -pushl %edi -pushl $0 -movl 20(%ebp),%edi -movl %edi,xx -pushl %edi -call quick -addl $12,%esp -movl $0,%eax -.LC13: -movl %ebp,%esp -popl %edi -popl %esi -popl %ebx -popl %ebp -ret -.Lf14: -.size sort,.Lf14-sort -.globl quick -.align 16 -.type quick,@function -quick: -pushl %ebp -pushl %ebx -pushl %esi -pushl %edi -movl %esp,%ebp -subl $4,%esp -movl 28(%ebp),%edi -cmpl %edi,24(%ebp) -jl .LC16 -jmp .LC15 -.LC16: -pushl 28(%ebp) -pushl 24(%ebp) -pushl 20(%ebp) -call partition -addl $12,%esp -movl %eax,-4(%ebp) -movl -4(%ebp),%edi -subl $1,%edi -pushl %edi -pushl 24(%ebp) -pushl 20(%ebp) -call quick -addl $12,%esp -pushl 28(%ebp) -movl -4(%ebp),%edi -leal 1(%edi),%edi -pushl %edi -pushl 20(%ebp) -call quick -addl $12,%esp -movl $0,%eax -.LC15: -movl %ebp,%esp -popl %edi -popl %esi -popl %ebx -popl %ebp -ret -.Lf18: -.size quick,.Lf18-quick -.globl partition -.align 16 -.type partition,@function -partition: -pushl %ebp -pushl %ebx -pushl %esi -pushl %edi -movl %esp,%ebp -subl $8,%esp -incl 28(%ebp) -movl 24(%ebp),%edi -movl %edi,-8(%ebp) -movl -8(%ebp),%edi -movl 20(%ebp),%esi -movl (%esi,%edi,4),%edi -movl %edi,-4(%ebp) -jmp .LC21 -.LC20: -incl 24(%ebp) -jmp .LC24 -.LC23: -incl 24(%ebp) -.LC24: -movl 24(%ebp),%edi -movl 20(%ebp),%esi -movl -4(%ebp),%ebx -cmpl %ebx,(%esi,%edi,4) -jl .LC23 -decl 28(%ebp) -jmp .LC27 -.LC26: -decl 28(%ebp) -.LC27: -movl 28(%ebp),%edi -movl 20(%ebp),%esi -movl -4(%ebp),%ebx -cmpl %ebx,(%esi,%edi,4) -jg .LC26 -movl 28(%ebp),%edi -cmpl %edi,24(%ebp) -jge .LC29 -movl 20(%ebp),%edi -movl 28(%ebp),%esi -leal (%edi,%esi,4),%esi -pushl %esi -movl 24(%ebp),%esi -leal (%edi,%esi,4),%edi -pushl %edi -call exchange -addl $8,%esp -.LC29: -.LC21: -movl 28(%ebp),%edi -cmpl %edi,24(%ebp) -jl .LC20 -movl 20(%ebp),%edi -movl 28(%ebp),%esi -leal (%edi,%esi,4),%esi -pushl %esi -movl -8(%ebp),%esi -leal (%edi,%esi,4),%edi -pushl %edi -call exchange -addl $8,%esp -movl 28(%ebp),%eax -.LC19: -movl %ebp,%esp -popl %edi -popl %esi -popl %ebx -popl %ebp -ret -.Lf31: -.size partition,.Lf31-partition -.globl exchange -.align 16 -.type exchange,@function -exchange: -pushl %ebp -pushl %ebx -pushl %esi -pushl %edi -movl %esp,%ebp -subl $4,%esp -movl xx,%edi -movl $4,%esi -movl 24(%ebp),%ebx -subl %edi,%ebx -movl %ebx,%eax -movl %esi,%ecx -cdq -idivl %ecx -pushl %eax -movl 20(%ebp),%ebx -subl %edi,%ebx -movl %ebx,%eax -movl %esi,%ecx -cdq -idivl %ecx -pushl %eax -pushl $.LC33 -call printf -addl $12,%esp -movl 20(%ebp),%edi -movl (,%edi),%esi -movl %esi,-4(%ebp) -movl 24(%ebp),%esi -movl (,%esi),%esi -movl %esi,(,%edi) -movl 24(%ebp),%edi -movl -4(%ebp),%esi -movl %esi,(,%edi) -movl $0,%eax -.LC32: -movl %ebp,%esp -popl %edi -popl %esi -popl %ebx -popl %ebp -ret -.Lf34: -.size exchange,.Lf34-exchange -.bss -.globl xx -.align 4 -.type xx,@object -.size xx,4 -.comm xx,4 -.data -.align 1 -.LC33: -.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 -.text -.ident "LCC: 4.1" |