title: Assembly: why some x86 opcodes are invalid in x64?
body: <p>Why in x64 some of the opcodes are invalid (<code>06</code>, <code>07</code> for example), whereas in x86 are used for fairly basic instructions (<code>06</code> and <code>07</code> being <code>push</code> and <code>pop</code>)? I thought that those simplest instructions would do nicely in both architectures.</p>
  <p>Why they disabled some of those simple instructions in x64? Why wouldn't they work?
  Why they disabled some opcodes, creating holes in opcode list, when they could instead assign them to x64 versions of instructions?</p>
  <p>Reference:</p>
  <p><a href="http://ref.x86asm.net/coder32.html" rel="nofollow noreferrer">http://ref.x86asm.net/coder32.html</a></p>
  <p><a href="http://ref.x86asm.net/coder64.html" rel="nofollow noreferrer">http://ref.x86asm.net/coder64.html</a></p>