It doesn't seem like you have an entire function, but here is a breakdown of what is here:
These three instructions set up your frame stack:
0x080486a8 <myFunction+0>: push %ebp 0x080486a9 <myFunction+1>: mov %esp,%ebp 0x080486ab <myFunction+3>: sub $0x1c,%esp
I'm not sure what this is for:
0x080486ae <myFunction+6>: call 0x8048418 < mcount@plt >
This is me and the amount initialized to 0 (stored on the stack):
0x080486b3 <myFunction+11>: movl $0x0,-0x4(%ebp) 0x080486ba <myFunction+18>: movl $0x0,-0xc(%ebp)
This is the beginning of the outer cycle. As a rule, the loop in the assembly begins with a jump to the end. The end in this case is beyond the end of your build list.
0x080486c1 <myFunction+25>: jmp 0x8048713 <myFunction+107>
This j is initialized to 0. This is done here because it must be reset every time an out for loop is executed.
0x080486c3 <myFunction+27>: movl $0x0,-0x8(%ebp)
This is the beginning of the inner cycle.
0x080486ca <myFunction+34>: jmp 0x8048707 <myFunction+95>
This array indexes me * 2, doing the arithmetic of the pointer to the address of the array. First he puts me in eax, then the left one shifts it 3 (multiplying it by 8). This optimization * 2, as well as taking into account the size of the array elements (4). Finally, he adds this to the array address, storing the result in eax.
0x080486cc <myFunction+36>: mov -0xc(%ebp),%eax 0x080486cf <myFunction+39>: shl $0x3,%eax 0x080486d2 <myFunction+42>: add 0xc(%ebp),%eax
This is the value pointed to by the address calculated above and stores it in edx. In this assembly dialect, x (y) means * (y + x)
0x080486d5 <myFunction+45>: mov (%eax),%edx
This computes the array [j] in a similar way, storing the result in eax this time:
0x080486d7 <myFunction+47>: mov -0x8(%ebp),%eax 0x080486da <myFunction+50>: shl $0x2,%eax 0x080486dd <myFunction+53>: add 0xc(%ebp),%eax 0x080486e0 <myFunction+56>: mov (%eax),%eax
This checks the two calculations above to make sure they are equal:
0x080486e2 <myFunction+58>: cmp %eax,%edx
If the test fails (if they are not equal), skip inside the if. (This jumps to the end of your list) jne means "jump if not equal"
0x080486e4 <myFunction+60>: jne 0x8048703 <myFunction+91>
These instructions load the arguments to mySumFunction in the correct places:
0x080486e6 <myFunction+62>: movl $0x6,0x8(%esp) 0x080486ee <myFunction+70>: mov 0xc(%ebp),%eax 0x080486f1 <myFunction+73>: mov %eax,0x4(%esp)
If listing is disabled here, but hopefully this will give you a good general idea.