I Just want to make sure I am reading this right:
movl 12(%ebp), %edx
leal (%edx, %edx, 4), %eax
I read the first line as: edx = [epb + 12], and the second line as: eax = edx + edx*4
Can anybody clarify?
Also, what if I had the following two lines:
leal (%edx, %edx, 4), %eax
leal (%edx, %edx, 2), %eax
Once the second line is executed, would the eax register be overwritten?
And the eax = edx + edx*4 is multiplying the address by 4? Or the contents of the address by 4?
 
     
     
     
    