これは、 X86アセンブリの構造化されたREADMEであり、実際の例で可能な最も簡単な言語で記述されています。 ?
| Intelタイプ | ビット | 名前 |
|---|---|---|
| - | 8ビット | バイト |
| 8086 | 16ビット | 言葉 |
| I386 | 32ビット | dword |
| x86 | 64ビット | QWORD |
dword = dword =(double-word)
qword = qword =(quad-word)
32ビットアームCPUでは、単語は32ビットです。


(バージニア大学コンピューターサイエンス(2006)の古いテキスト、X86アセンブリの最高のガイドの1つ)
現代(つまり、つまり3 86以降)x 86プロセッサには、図1に示すように、8つの32ビットの汎用レジスタがあります。レジスタ名はほとんど歴史的です。たとえば、 EAXは多くの算術演算で使用されていたため、Accumulatorと呼ばれていましたが、 ECXはループインデックスを保持するために使用されたため、カウンターとして知られていました。レジスターのほとんどは最新の指導セットで特別な目的を失っていますが、慣習により、2つは特別な目的のために予約されています。スタックポインター(ESP)とベースポインター(EBP)です。
EAX 、 EBX 、 ECX 、およびEDXレジスタの場合、サブセクションを使用できます。たとえば、 EAXの最も重要な2バイトは、 AXと呼ばれる16ビットレジスタとして扱うことができます。 Axの最も重要なバイトは、 ALと呼ばれる単一の8ビットレジスタとして使用できますが、最も重要なaxはAHと呼ばれる単一の8ビットレジスタとして使用できます。これらの名前は、同じ物理レジスタを指します。 2バイト数量がDXに配置されると、更新はDH 、 DL 、およびEDXの値に影響します。これらのサブリーグスターは、主に命令セットの古い16ビットバージョンからのホールドオーバーです。ただし、 32ビットより小さいデータ(1バイトASCII文字など)を扱う場合、それらは便利な場合があります。
アセンブリ言語のレジスタを参照する場合、名前はケースに敏感ではありません。たとえば、 EAXとEAXという名前は同じレジスタを参照しています。


X86では、レジスタには名前の前に「 E 」があります。
例: e ax、 e bx、 e cx、 e dx、 e bp
追加情報:
X64では、代わりに「 R 」があります。
例: r ax、 r bx、 r cx、 r dx、 r bp
また、 XMM0からXMM15に走るダブルエシジョンフローティングポイントもあります。

フルチートシートx86アセンブリ、20ページ。

