title: move large register into small memory
body: <p>I have a little problem understanding PTR Operator, I can easily move large memory into small register example below:</p>
  
  <pre><code>ax = small register which is 2 byte
  memory = variable which is 4 byte
  
  
  .data
  variable dword 05010h
  
  .code
  mov ax,WORD PTR variable
  </code></pre>
  
  <p>It will works fine.
  Now my problem is I don't understand why I can't move large register like <code>eax</code> into a small memory variable which is 2 byte?</p>
  
  <p>Example:</p>
  
  <pre><code>.data
  variable word ?
  
  .code
  
  mov eax, 01050h
  mov variable, word ptr eax
  </code></pre>
  
  <p>It's says: <code>Error invalid use of register</code></p>
  
  <p>Note: it works fine if the size is match</p>