0から作るソフトウェア開発

日々勉強中。。。

0から作るOS開発

環境準備

環境設定

ブートローダ

カーネルローダ

GRUB

カーネル

ドライバーその他

Tips IA32(x86)汎用命令一覧 Cから始まる命令 CLI命令

IA32(x86)汎用命令一覧

このサイトで挙げる命令は汎用命令の一覧となります

調べたい命令の頭文字をクリックすると、表の下に詳細が表示されます
IA32(x86)汎用命令一覧
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 補足


Cから始まる命令

クリックすると、表の下に詳細が表示されます
Cから始まる命令一覧
命令 代表命令の説明
(英語)
代表命令の説明
(日本語)
CALL Call Procedure 指定したアドレスをコールする
CBW Convert Byte to Word 符号拡張する
CDQ Convert Doubleword to Quadword 符号拡張する
CLC Clear Carry Flag CFフラグをクリアする
CLD Clear Direction Flag DFフラグをクリアする
CLI Clear Interrupt Flag 割り込みフラグをクリアする
CLTS Clear Task-Switched Flag in CR0 CR0のTSフラグをクリアする
CMC Complement Carry Flag CFフラグの状態を反転する
CMP Compare Two Operands 比較を行う
CMPS/CMPSB/CMPSW/CMPSD Compare String Operands 文字列を比較する
CMPXCHG Compare and Exchange 値を比較し、値を交換する
CMPXCHG8B Compare and Exchange 8 Bytes 64ビット値を比較し、値を交換する
CPUID CPU Identification プロセッサの識別情報と機能情報を取得する
CWD Convert Word to Doubleword 符号拡張する
CWDE Convert Word to Doubleword 符号拡張する


CLI命令(Clear Interrupt Flag)

CLI命令
オペコード 命令 説明
0xFA CLI IFフラグをクリアします。IFフラグが0にクリアされている間は割り込みは無効となります


詳細

プロテクティッドモード仮想割り込みが有効でない場合は、EFLAGSのIFフラグをクリアします

その他のEFLAGSのフラグは影響を受けません。IFフラグをクリアすると、プロセッサは

マスク可能な外部割り込みを無視します。IFフラグ、CLI命令とSTI命令は

例外とNMI割り込みの発生には関係しません



プロテクティッドモード仮想割り込みが有効である場合は、CPLは3であり、IOPLは3より小さいです

CLI命令はEFLAGSレジスタのVIFフラグをクリアし、IFフラグには影響を与えません

下表はプロセッサの動作モードによるCLI命令の処理とそのとき実行中のプログラムのCPL、IOPLとなります

プロセッサの動作モードによるCLI命令の処理とそのとき実行中のプログラムのCPL、IOPL
PE VM IOPL CPL PVI VIP VME CLIの結果
0 X X X X X X IF = 0
1 0 IOPL ≥ CPL X X X X IF = 0
1 0 IOPL < CPL 3 1 X X VIF = 0
1 0 IOPL < CPL CPL < 3 X X X GPフォルト
1 0 IOPL < CPL X 0 X X GPフォルト
1 1 3 X X X X IF = 0
1 1 IOPL < 3 X X X 1 VIF = 0
1 1 IOPL < 3 X X X 0 GPフォルト


X = この設定は影響をあたえません

影響のあるEFLAGSレジスタのフラグ

プロテクティッドモード仮想割り込みが有効でない場合に、CPLがIOPL以下の場合

影響のあるEFLAGSレジスタのフラグ
フラグ 説明
ID -
VIP -
VIF -
AC -
VM -
RF -
NT -
IOPL -
OF -
DF -
IF 0にクリアされます
TF -
SF -
ZF -
AF -
PF -
CF -


プロテクティッドモード仮想割り込みが有効の場合に、CPLが3でIOPLが3より小さい場合

影響のあるEFLAGSレジスタのフラグ
フラグ 説明
ID -
VIP -
VIF 0にクリアされます
AC -
VM -
RF -
NT -
IOPL -
OF -
DF -
IF -
TF -
SF -
ZF -
AF -
PF -
CF -


inserted by FC2 system