title: Invalid effective address when using big factor
body: <p>I'm trying to read from a reserved memory in NASM using the following instructions:</p>
  <pre><code>movzx eax, [mat+100*edi+esi]
  mov [dmat+298*edi+3*esi], eax
  </code></pre>
  <p>But I get the following
  <a href="https://i.stack.imgur.com/k4EHK.png" rel="nofollow noreferrer">error</a></p>
  <pre><code>invalid effective address
  invalid effective address: two index registers
  </code></pre>
  <p>The first error is solved when using a lower factor such as 50 instead of 100. The second error turns into <code>invalid effective address</code> when the factor turns into 1 instead of 298.</p>
  <p>I've checked and NASM is supposed to be able to perform this with the used registers as index, so what's the problem here?</p>