ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
オペコードの前に置いて使う、機能を変更したり指示したりするプリフィックス。
IA-32では、次のようなプリフィックスが使われている。
i386から採用された。
リアルモードでは、従来の16ビット命令の頭に「66」を置くことで、オペランドサイズが32ビットとなる。
66 41 ‐ inc eax
41 ‐ inc ax
プロテクトモードでは、従来の16ビット命令はそのままで32ビット命令となっているため、命令の頭に「66」を置くことで16ビット命令とする。
41 ‐ inc eax
66 41 ‐ inc ax
なお、SSE命令(0F xx xx)では、66は本来の意味とは無関係に命令拡張用プリフィックスとして用いられている。
i386から採用された。
命令の頭に「67」を置くことで、オフセットアドレスサイズが32ビットとなる。
66 a1 34 12 ‐ mov eax, [1234h]
67 66 a1 78 56 34 12 ‐ mov eax, dword ptr [12345678h]
オペランドサイズプリフィックスよりも前に置く。
リアルモードでは、アドレスの指定にセグメントを用いる。
80286まではCS、SS、DS、ESがあり、i386からFS、GSが追加されている。
主としてストリング命令の前に付けて用いるプリフィックスである。次の二種類がある。
なお、SSE命令(0F xx xx)は、F2/F3は本来の意味とは無関係に命令拡張用プリフィックスとして用いられている。
またHLE(Hardware Lock Elision)ではlock命令(F0)の前にF2/F3をおくことで、XACQUIRE/XRELEASEプリフィックスとして動作させている。
REXプリフィックスは、x64(AMD64 ISA/Intel 64)で採用された、命令を64ビットに拡張するプリフィックスである。
オペランドの64ビット化、追加されたレジスターの指定などに用いる。
VEXプリフィックスは、「Sandy Bridge」コア採用のCore i7/i5/i3から搭載された拡張命令セットである。
複雑化したMMX/SSE命令の整理と、更なる拡張を目的として新設された。
拡張が続き、複数のプリフィックスによって表現されていた命令を、新設するプリフィックスとその後に続くペイロードによってシンプルに表現し、命令解読の簡略化と高速実行の両立を目指すものである。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます