opcodes x86 de 32 bits que diferem em x86-x64 ou completamente removidos

Eu procurei na Wikipedia por compatibilidade com versões anteriores do x86 em x86-x64 e ele diz:

x86-64 é totalmente compatível com o código x86 de 16 e 32 bits. Como os conjuntos de instruções completos de x86 de 16 e 32 bits permanecem implementados no hardware sem nenhuma emulação interveniente, os executáveis x86 existentes são executados sem penalidades de compatibilidade ou desempenho , enquanto os aplicativos existentes recodificados para aproveitar os novos recursos do design do processador podem obter melhorias de desempenho.

Portanto, testei algumas instruções para verificar se algumas produzem opcodes totalmente diferentes (em vez de apenas aplicar o prefixo), como: INC / DEC. Olhando para (x86):

\ x40 inc eax
\ x48 dec eax

E ao montar o mesmo em x86-x64, obtém-se:

\ xff \ xc0 inc eax

\ xff \ xc8 dec eax

Estou tentando descobrir o motivo e mais exemplos de outras instruções que apresentam os mesmos sintomas que produzem códigos de operação diferentes. Eu estou familiarizado com que push, pop, call, ret, enter e leave não estão disponíveis 32 bits em x86-x64.

questionAnswers(2)

yourAnswerToTheQuestion