1

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?

Jester
  • 56,577
  • 4
  • 81
  • 125
MenNotAtWork
  • 145
  • 2
  • 8
  • 4
    Consult a manual. Technically `[eax*3]` is not valid, but your assembler may be able to turn it into `[eax*2+eax]` which is valid. – Jester Dec 12 '19 at 01:47

0 Answers0