16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

STI—Set Interrupt Flag<br />

オペコード 命令 説明<br />

FB STI 割り込みフラグをセットする。次の命令の最後で、割り込みがイ<br />

ネーブルになる。<br />

説明<br />

EFLAGS レジスタの割り込みフラグ (IF) をセッ ト する。 IA-32 システム環境では、 IF フ<br />

ラグがセ ッ ト された後、 プロセ ッ サは、 次の命令を実行した後に外部マス ク可能割り込<br />

みへの応答を開始す る。 STI 命令の後に (IF フラグをクリアする ) CLI 命令が続いてい る<br />

と、 STI 命令の効果はネゲー ト される。 Itanium ベース・システム環境では、プロセッサ<br />

は、STI 命令の実行によってトラップやインターセプトが発生しない限り、STI 命令の<br />

後ただちに割り込みに対して応答する。IA-32 命令に対する外部割り込みは、PSR.i が 1<br />

で、~ CFLG.if または EFLAG.if が 1 である場合にイネーブルにされる。<br />

IF フラグと STI 命令お よ び CLI 命令は、 例外 と NMI 割り込みの生成には影響を与えな<br />

い。<br />

以下のデシ ジ ョ ン ・ テ ー ブルは、 プ ロ セ ッ サの動作モ ー ド お よ び現在実行中のプ ロ グ ラ<br />

ムまたはプロシージャのCPL と IOPL( テーブルの上部分) によって、 STI 命令の処置<br />

( テーブルの下部分) が決ま る こ と を示している。<br />

注 :<br />

X 関係なし。<br />

N 左端の欄の処置が行われない。<br />

Y 左端の欄の処置が行われる。<br />

操作<br />

OLD_IF IOPL =3<br />

IOPL X X X =3<br />

IF ← 1 Y Y N Y<br />

#GP(0) N N Y N<br />

IF PE=0 (* Executing in real-address mode *)<br />

THEN<br />

IF ← 1; (* Set Interrupt Flag *)<br />

ELSE (* Executing in protected mode or virtual-8086 mode *)<br />

IF VM=0 (* Executing in protected mode*)<br />

THEN<br />

IF CR4.PVI = 0<br />

THEN<br />

IF CPL

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!