1-3)
Your assumptions look correct to me.
4)I can't get the 4th line.
It's the same as the 3rd one, except that an absolute offset is added. For example:
mov eax,[ebx+ecx*4+arrays]
arrays:
array1: dd 0,1,2,3
array2: dd 3,2,1,0
If you set ebx
to 0 you'd read the ecx:th
element of array1
. If you set ebx
to 16 (4 * sizeof(dword)) you'd read the ecx:th
element of array2
.