本書では、x86ファミリのマイクロプロセッサ用のアセンブリ言語について扱います。本書の目的は、x86アセンブリでのプログラミング方法、x86プロセッサファミリの歴史、および基本的なアーキテクチャについて説明することです。
「x86」という用語は、1978年に発表されたIntel 8086以降のx86ベースのプロセッサ全体を指します。これには、以下のものが含まれます。
iAPX 86アセンブリは、16ビットのアーキテクチャであるi8086のアセンブリで、後に80286などのバージョンに継承されました。
IA-32アセンブリ（一般にx86-32アセンブリとも呼ばれる）は、Intel 80386から始まる32ビットのIntelアーキテクチャであり、16ビットのIntelアーキテクチャ（Intel 8086から80286で使用されたもの）を32ビットに拡張したものです。IA-32は16ビットアーキテクチャとの完全な後方互換性を持っています。
x86-64、AMD64、またはAMD 64ビット拡張とも呼ばれるものは、32ビットコードをパフォーマンスを損なうことなく実行できるという後方互換性を持っています。
Intel 64はかつてIA-32eまたはEM64Tと呼ばれており、ほとんどがx86-64と同じです。
本書では、これらの用語は混乱を招かない限り同等の意味で使われます。また、特定の制限事項がある場合や、16ビット、32ビット、64ビットアーキテクチャのいずれかに適用される場合には、その特別な使い方について明確に説明します。
この書籍は、英語版の記事をもとに、日本語版の独自の内容を追加したり、現代的な内容を追加したりしたものです。そのため、英語版の内容とは一致しません。
 x86アセンブラとは
 GAS構文
 MASM構文
 HLA構文
 FASM構文
 NASM構文
 x86アーキテクチャとレジスタの説明
 コメント
 16、32、64ビット
 組み込みデータ型
 x86ファミリ
 x86の命令
 データ転送命令
 制御転送命令
 算術演算命令
 論理演算命令
 シフト命令とローテート命令
 その他の命令
 x86の割り込み
 拡張命令
 浮動小数点
 MMX
 SSE
 AVX、AVX2、FMA3、FMA4
 3DNow!
 x86の詳細
 高水準言語
 X86アセンブラ/機械語への変換 (※ 代替リンク :機械語)
 プロテクト・モード
 グローバル・ディスクリプタ・テーブル
 割り込みの詳細
 ブートローダ
 x86チップセット
  ダイレクト・メモリ・アクセス
  プログラマブル割り込みコントローラ
  プログラマブル・インターバル・タイマ
  プログラマブル・パラレル・インターフェイス
  WinAPIとのやりとり (''Communicating directly with the operating system'' from the article ''GAS Syntax'' above)
  Linuxとのやりとり
  Calling Conventions (from the Embedded Systems book)
  Calling Conventions (from the x86 Disassembly book)
  標準Cライブラリ
  Inline Assembler (Embedded Systems book)
  Linked Assembler (Embedded Systems book)
 はじめに
アセンブラは文献が少ないため、日本語で解説のレベルの高いサイトをいくつか紹介する。
[http://hp.vector.co.jp/authors/VA014520/asmhsp/chap2.html     『アセンブリ言語の基礎』]  - Hot Soup Processorの解説サイトだが、アセンブラを解説している。
 X86アセンブラ/参考文献