title: error C2400: inline assembler syntax error in 'second operand'; found 'register'
body: <p>I am facing compilation error while working with assembly instructions in VC++ as MACRO inline based assembler blocks.</p>
  
  <pre><code>error C2400: inline assembler syntax error in 'second operand'; found 'register'
  </code></pre>
  
  <p>Here is the code:</p>
  
  <pre><code>_asm {\
  
          mov esi,dword ptr [pMemBlock]\
          sub esp,sizeOfblock\
          mov ebx,sizeOfblock\
          mov shrResult,ebx\
          shr shrResult,2\
          mov ecx,shrResult\
          mov shrResult,0\
          mov edi,esp\
          rep movs dword ptr es:[edi],dword ptr[esi]\
  }
  </code></pre>
  
  <p>Regards
  Usman</p>