When doing an operation like mov [eax], ebx
you are able to use simple arithmetics on the value in the brackets. Like mov [eax+10], ebx
or mov [eax*8], ebx
.
When using addition you don't really have limitation what number to add. But when using multiplication you can only can use 1,2,4,8
, at least that's what I thought.
But operations like this: mov [eax*3], ebx
or this: mov [eax*9], ebx
seem to be valid. Other operations like: mov [eax*6], ebx
or mov [eax*7]
are invalid.
So, does anyone has an explanation for this?