ss.s
contents ::
  loop.c
  loop.s
  main_swap.c
  quick_sort.s
  ss.s
  swap2.c
  swap2.s
  swap_ararym.c
  swap_array.c
  swap_array.s
  swap.c
  swap.s

.text

.globl swap_array
swap_array:
         pushl         %ebp
         movl         %esp,%ebp
         movl         12(%ebp), %eax         #; 1 load a+0 into a
         movl         %eax, %ebx         #; 2 copy address to c
         addl         $4, %ebx         #; 3
loop:
         movl         $0, %ecx         #; -4(ebp)
comparison:
         cmpl         8(%ebp), %ecx
         jl         increment
         jmp         done

increment:
         movl         (%ebx), %edx         #; 4
         xchg         (%eax), %edx         #; 5
         movl         %edx, (%ebx)         #; 6
         
         incl         %ecx
         jmp         comparison

done:
         leave
         ret

James Little