24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

POP—Pop a Value from the Stack ( 続き ) FI; IF segment not marked present THEN #SS(selector); ELSE SS ← segment selector; SS ← segment descriptor; FI; FI; IF DS, ES, FS or GS is loaded with non-null selector; THEN IF segment selector index is outside descriptor table limits OR segment is not a data or readable code segment OR ((segment is a data or nonconforming code segment) AND (both RPL and CPL > DPL)) THEN #GP(selector); IF segment not marked present THEN #NP(selector); ELSE SegmentRegister ← segment selector; SegmentRegister ← segment descriptor; FI; FI; IF DS, ES, FS or GS is loaded with a null selector; THEN SegmentRegister ← null segment selector; SegmentRegister ← null segment descriptor; FI; 影響を受けるフラグ なし。 追加の Itanium ベース・システム環境例外 IA-32_Intercept POP SS でのシステム ・ フラグ ・ インターセプ ト ・ ト ラ ッ プ。 Itanium アーキテクチャ ・ NaT レ ジ ス タ参照アボ ー ト 。 レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、 データ TLB フォルト、 代替データTLB フォルト、 デー タ・ページ不M 在フ ォル ト 、 データ NaT ページ参照ア ボー ト、 データ ・ キー ・ ミス ・ フォルト、 データ ・ キー許 可フ ォル ト 、 データ ・ アクセス権フ ォル ト 、 データ ・ アク セス・ビット・フォルト、 データ・ダーティ・ビット ・ フォルト。 3:688 第 3 巻 : IA-32 基本命令リファレンス

POP—Pop a Value from the Stack ( 続き ) 保護モード例外 #GP(0) NULL セグメン ト ・ セレ ク タで SS レジスタをロードしよ う と した場合。 デステ ィ ネー シ ョ ン ・ オペラ ン ド が書き込み不可能なセグ メント にある場合。 メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 DS、 ES、 FS、 または GS レジスタを使用してメモリがア クセスされ、 レジスタの内容が NULL セグメン ト ・ セレ クタであった場合。 #GP( セレクタ ) セグメン ト ・ セレ ク タ ・ インデッ クスがデ ィ スク リ プタ ・ テーブルの範囲外の場合。 SS レジスタがロード され、 セグメント ・セレクタのRPL およびセグメント ・ディスク リプタの DPL が CPL に等し くない場合。 SS レ ジ ス タ がロ ー ド さ れ、 指示先のセグ メ ン ト が書き込 み不可能なデー タ ・ セグメン ト である場合。 DS、 ES、 FS、 または GS レジスタがロード され、 指示先 のセグメン ト がデータ ・ セグメン ト または読み取り可能な コード ・セグメントでない場合。 DS、 ES、 FS、 または GS レジスタがロード され、 指示先 のセグメン ト がデータ ・ セグメン ト または非コ ンフ ォ ー ミ ング ・ コー ド ・ セグメン ト であるが、 RPL および CPL の 両方 と も DPL より大きい場合。 #SS(0) スタックの現在のト ップがスタック ・セグメン ト内にない 場合。 メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #SS( セレクタ ) SS レ ジ ス タ がロ ー ド さ れ、 指示先のセグ メ ン ト が存在し ないとマー ク されている場合。 #NP DS、 ES、 FS、 または GS レジスタがロード され、 指示先 のセグメン ト が存在しないと マー ク されている場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが イネーブルにされていて、 アライメントが合わないメモリ 参照が行われた場合。 実アドレス・モード例外 #GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 第 3 巻 : IA-32 基本命令リファレンス 3:689

POP—Pop a Value from the Stack ( 続き )<br />

FI;<br />

IF segment not marked present<br />

THEN #SS(selector);<br />

ELSE<br />

SS ← segment selector;<br />

SS ← segment descriptor;<br />

FI;<br />

FI;<br />

IF DS, ES, FS or GS is loaded with non-null selector;<br />

THEN<br />

IF segment selector index is outside descriptor table limits<br />

OR segment is not a data or readable code segment<br />

OR ((segment is a data or nonconforming code segment)<br />

AND (both RPL and CPL > DPL))<br />

THEN #GP(selector);<br />

IF segment not marked present<br />

THEN #NP(selector);<br />

ELSE<br />

SegmentRegister ← segment selector;<br />

SegmentRegister ← segment descriptor;<br />

FI;<br />

FI;<br />

IF DS, ES, FS or GS is loaded with a null selector;<br />

THEN<br />

SegmentRegister ← null segment selector;<br />

SegmentRegister ← null segment descriptor;<br />

FI;<br />

影響を受けるフラグ<br />

なし。<br />

追加の Itanium ベース・システム環境例外<br />

IA-32_Intercept POP SS でのシステム ・ フラグ ・ インターセプ ト ・ ト ラ ッ<br />

プ。<br />

Itanium アーキテクチャ ・ NaT レ ジ ス タ参照アボ ー ト 。<br />

レジスタ ・ フォルト<br />

Itanium アーキテクチャ ・<br />

メモリ ・ フォル ト<br />

VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、<br />

データ TLB フォルト、 代替データTLB フォルト、 デー<br />

タ・ページ不M 在フ ォル ト 、 データ NaT ページ参照ア<br />

ボー ト、 データ ・ キー ・ ミス ・ フォルト、 データ ・ キー許<br />

可フ ォル ト 、 データ ・ アクセス権フ ォル ト 、 データ ・ アク<br />

セス・ビット・フォルト、 データ・ダーティ・ビット ・<br />

フォルト。<br />

3:688 第 3 巻 : IA-32 基本命令リファレンス

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!