title: How to move two 32 bit registers in to one 64 bit?
body: <p>Let's say that I want to put two 32 bit registers <code>EAX</code> as low 32 bit word and <code>EDX</code> as high 32 bit word into <code>RAX</code>.
  I have found one way:</p>
  
  <pre><code>shl   rdx, 32
  or    rax, rdx
  </code></pre>
  
  <p>This method works only if we are sure that bits from 32 to 61 of <code>RAX</code> are 0. If we are not sure about that, then we must first clear the high 32 bit word, like:</p>
  
  <pre><code>mov   eax, eax      //This instruction should clear the high 32 bit word of RAX
  </code></pre>
  
  <p>Is this the shortest way?</p>
  
  <p>Is there a single asm x86-64 instruction that does this operation?</p>