EFLAGS
読み:イーフラグス
外語:EFLAGS

 IA-32におけるフラグレジスター
目次

概要
 80286までの頃の16ビットFLAGSの上位互換で、下位16ビットはFLAGSと同じまま、32ビットに拡張された。
 なお、AMD64以降では更に64ビットに拡張されRFLAGSと呼ばれている。

利用法
 フラグレジスターは汎用レジスターとは異なる扱いとなっていて、操作には専用の命令が必要である。
 フラグレジスター制御のために、次の命令がある。
 このほか、比較命令や条件ジャンプ命令、演算命令等により、フラグレジスターは変更ないし参照される。

構成
 全32ビット構成で、具体的なビット構成は次のとおり。
ビット名称機能
0CFキャリーフラグ
111 (未使用)
2PFパリティフラグ (演算結果の下位8ビット)
300 (未使用)
4AF補助キャリーフラグ(BCD演算用)
500 (未使用)
6ZFゼロフラグ
7SFサインフラグ
8TFトラップフラグ、トレースフラグ
9IF割り込みフラグ
10DFディレクションフラグ
11OFオーバーフローフラグ
12IOPLI/O特権レベル
13
14NTネストタスクフラグ
1500 (未使用)
16RFデバッグレジスターの命令ブレイクポイントを(1回のみ)無効にする
17VM1=仮想86モード
18AC変更可能であれば、i486Pentium以降のCPUである
19VIF仮想割り込みフラグ (Pentium以降)
20VIP仮想割り込みペンディングフラグ (Pentium以降)
21ID変更可能であれば、CPUID命令に対応している
2200 (未使用)
31

再検索