.LC1: .string "\nEl arreglo en desorden es: " .LC2: .string " %d " .LC3: .string "\nEl arreglo en orden es: " .text .globl main main: pushl %ebp movl %esp, %ebp andl $-16, %esp subl $80, %esp movl %eax, (%esp) call printf movl $6, 24(%esp) movl $30, 28(%esp) movl $7, 32(%esp) movl $1, 36(%esp) movl $43, 40(%esp) movl $12, 44(%esp) movl $2, 48(%esp) movl $10, 52(%esp) movl $11, 56(%esp) movl $5, 60(%esp) movl $.LC1, %eax movl %eax, (%esp) call printf movl $0, 76(%esp) jmp .L2 .L3: movl 76(%esp), %eax movl 24(%esp,%eax,4), %edx movl $.LC2, %eax movl %edx, 4(%esp) movl %eax, (%esp) call printf addl $1, 76(%esp) .L2: cmpl $9, 76(%esp) jle .L3 movl $1, 72(%esp) jmp .L4 .L8: movl $0, 76(%esp) jmp .L5 .L7: movl 76(%esp), %eax movl 24(%esp,%eax,4), %edx movl 76(%esp), %eax addl $1, %eax movl 24(%esp,%eax,4), %eax cmpl %eax, %edx jle .L6 movl 76(%esp), %eax movl 24(%esp,%eax,4), %eax movl %eax, 64(%esp) movl 76(%esp), %eax addl $1, %eax movl 24(%esp,%eax,4), %edx movl 76(%esp), %eax movl %edx, 24(%esp,%eax,4) movl 76(%esp), %eax leal 1(%eax), %edx movl 64(%esp), %eax movl %eax, 24(%esp,%edx,4) .L6: addl $1, 76(%esp) .L5: cmpl $8, 76(%esp) jle .L7 addl $1, 72(%esp) .L4: movl 72(%esp), %eax cmpl 68(%esp), %eax jl .L8 movl $.LC3, %eax movl %eax, (%esp) call printf movl $0, 76(%esp) jmp .L9 .L10: movl 76(%esp), %eax movl 24(%esp,%eax,4), %edx movl $.LC2, %eax movl %edx, 4(%esp) movl %eax, (%esp) call printf addl $1, 76(%esp) .L9: cmpl $9, 76(%esp) jle .L10 movl $10, (%esp) call putchar movl $0, %eax