Intel 64 and IA-32 Architectures Software Developer's Manual の Row F table A-4 Appendix A.3 Volume 2C (注文番号 326018-045US 2013 年 1 月) は、2 つの組み合わせのプレフィックス サブ行があるという点で一意です。プレフィックス: 0x66 および 0xF2。
これが関連する唯一のオペコードは 0x0F38F1 (CRC32) です。プレフィックス 0xF2 のみの場合、ソース オペランドは Ey (メモリまたは汎用レジスタ; 32 ビットまたは 64 ビット) であり、プレフィックス 0x66 と 0xF2 を合わせた場合、ソース オペランドは Ew (メモリまたは汎用レジスタ; 常に 16 ビット) です。
ただし、これらのソース オペランドは、0x66 が 2 つの必須プレフィックスの組み合わせの最初のプレフィックスではなく、単にオプションのオペランド サイズ オーバーライド プレフィックスである場合と同じです。実際、オプションのプレフィックスとしての 0x66 は、CRC32 命令がどのように文書化されているか (暗黙的に: 16 ビットと 32 ビットの両方のソース オペランドの同一のバイト シーケンス) で、Chapter 3.2 Volume 2A に記載されています。表で 0x66 および 0xF2 行を省略し、ソース オペランドを 0xF2 行の Ev (メモリまたは汎用レジスタ; 16 ビットまたは 32 ビットまたは 64 ビット) として文書化した可能性があるようです。
オペコード マップがオペコード 0x0F38F1 のソース オペランドをこのような独自の方法で文書化する理由はありますか?
編集:マニュアルのバージョンを追加