32-разрядные операционные коды x86, отличающиеся x86-x64 или полностью удаленные

Я посмотрел Wikipedia для обратной совместимости x86 в x86-x64, и там написано:

x86-64 полностью обратно совместим с 16-битным и 32-битным x86-кодом. Поскольку полные 16-битные и 32-битные наборы команд x86 остаются реализованными на аппаратном уровне без какой-либо промежуточной эмуляции, существующие исполняемые файлы x86 работают без потери совместимости или производительности в то время как существующие приложения, которые перекодированы для использования преимуществ новых функций конструкции процессора, могут достичь улучшения производительности.

Итак, я протестировал некоторые инструкции, чтобы увидеть, что некоторые на самом деле дают совершенно другие коды операций (а не просто применяют префикс), такие как: INC / DEC. Глядя на (x86):

\ x40 inc eax
\ x48 dec eax

И при сборке то же самое в x86-x64 выдает:

\ xff \ xc0 inc eax

\ xff \ xc8 dec eax

Я пытаюсь выяснить причину и другие примеры других инструкций, которые имеют те же симптомы, которые дают разные коды операций. Я знаком с тем, что push, pop, call, ret, enter и exit недоступны 32 бит в x86-x64.

Ответы на вопрос(2)

Ваш ответ на вопрос