ss.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 |