20. 3.CPU のこと (8) - x86 - フラグレジスタ (2)
bit 種別 flag 名前 説明 関連命令
0 S CF Carry Flag キャリーフラ
グ
MSB で carry( 桁上がり ) か borrow( 桁下が
り ) が生じたときに 1 がセットされる。符号
なし演算の overflow の発生
stc,clc,
cmc
1 1 予約
2 S PF Parity Flag パリティフラ
グ
演算結果の最下位バイトで、値が 1 のビットが
偶数個なら 1 がセットされる
3 0 予約
4 S AF Auxiliary
Carry Flag
補助キャリ
ーフラグ
ビット 3 で carry か borrow が生じた時に 1 がセ
ットされる。 BCD 演算で使用。
5 0 予約
6 S ZF Zero Flag ゼロフラグ 演算結果が 0 のとき 1 がセットされる
7 S SF Sign Flag 符号フラグ 演算結果の MSB がそのままセットされる
8 X TF Trap Flag Debug 用フラグ
1:Single Step Mode が有効 ,0: 無効
9 X IF Interrupt
Enable Flag
割り込み許
可フラグ
1: 割り込み許可 0: 割り込み禁止 sti,cli
21. 3.CPU のこと (9) - x86 - フラグレジスタ (3)
bit 種別 flag 名前 説明 関連命令
10 C DF Direction Flag 方向フラグ ストリング命令を、
1: 上位 ( マイナス ) に向かって処理
0: 下位 ( プラス ) に向かって処理
std,cld
11 S OF Overflow Flag オーバーフ
ローフラグ
計算結果が overflow もしくは underflow した
時に 1 がセットされる
12
X IOPL
I/O Privilege
Level
I/O 特権レ
ベル
現在実行しているプログラム
の I/O 特権レベル13
14 X NT Nested Task
Flag
ビット 3 で carry か borrow が生じた時に 1 が
セットされる。 BCD 演算で使用。
15 0 予約
16 X RF Resume Flag
17 X VM Virtual-8086
Mode
仮想 8086 モ
ード
18 X AC Alignment
Check
アラインメ
ントチェッ
ク
1: アラインメントチェック有効
CPL=3 のときアラインメントチェック例外を
発生させる事が出来る
22. 3.CPU のこと (10) - x86 - フラグレジスタ (4)
bit 種別 flag 名前 説明 関連命令
19 X VIF Virtual
Interrupt Flag
20 X VIP Virtual
Interrupt
Pending
21 X ID Identification
Flag
識別フラグ このビットを変更出来れば、 CPUID 命令を
実行できる
22~
31
予約