what does this command do in assambly ?
mov ebx, [eax+ecx*4+12]
does it do the same of the following ?
MOV EBX,ECX
ADD EBX,EBX ; *2
ADD EBX,EBX ; *4
ADD EBX,EAX
ADD EBX,12
MOV EBX,[EBX]
if yes why do they don’t give the same result in Jasmin when eax = 100h, ebx = 0, ecx = 100h
end.
lets say we have these commands
=> its actually mov ebx, [0x5B10] where 0x5B10 is the address number in the memory, but in my case the maximal address is 0xFFC < 0x5B10, so its out of range so the appeared result is the result of the before last command
so by using smaller values like 0x14 we get the same result
we get in both cases or methode:
BUT if we add before the last line something like
we will get in ebx 0x111