title: Inline Assembly lea with arrays
body: <p>Hello I have a question about the lea instruction and arrays, This works fine:</p>
  
  <pre><code>char *msg = new char[6];
  msg = "hello";
  
  _asm{
      push        10h
      push        0
      mov         eax, [msg]
      push        eax
      push        0
      call        MessageBox
       }
  </code></pre>
  
  <p>}  </p>
  
  <p>But why do I get an "operand size conflict" error here?</p>
  
  <pre><code>char msg2[] = "hey2";
  _asm{
      push        10h
      push        0
      mov         eax, [msg2]
      push        eax
      push        0
      call        MessageBox
  }  
  </code></pre>
  
  <p>And why does it work again with lea?</p>
  
  <pre><code>char msg2[] = "hey2";
  _asm{
      push        10h
      push        0
      lea         eax, [msg2]  // &lt;-
      push        eax
      push        0
      call        MessageBox
  }  
  </code></pre>