24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

LSL—Load Segment Limit ( 続き ) 操作 タイプ 名前 有効 / 無効 0 予約済み 無効 1 使用可能 16 ビット TSS 有効 2 LDT 有効 3 ビジー 16 ビット TSS 有効 4 16 ビット・コール・ゲート 無効 5 16 ビット /32 ビット・タスク・ゲート 無効 6 16 ビット・トラップ・ゲート 無効 7 16 ビット割り込みゲート 無効 8 予約済み 無効 9 使用可能 32 ビット TSS 有効 A 予約済み 無効 B ビジー 32 ビット TSS 有効 C 32 ビット・コール・ゲート 無効 D 予約済み 無効 E 32 ビット・トラップ・ゲート 無効 F 32 ビット割り込みゲート 無効 IF SRC(Offset) > descriptor table limit THEN ZF ← 0; FI; Read segment descriptor; IF SegmentDescriptor(Type) ≠ conforming code segment AND (CPL > DPL) OR (RPL > DPL) OR Segment type is not valid for instruction THEN ZF ← 0 ELSE temp ← SegmentLimit([SRC]); IF (G = 1) THEN temp ← ShiftLeft(12, temp) OR 00000FFFH; FI; IF OperandSize = 32 THEN DEST ← temp; ELSE (*OperandSize = 16*) DEST ← temp AND FFFFH; FI; FI; 3:650 第 3 巻 : IA-32 基本命令リファレンス

LSL—Load Segment Limit ( 続き ) 影響を受けるフラグ セグメン ト範囲が正常にロー ド された場合は ZF フラグが1 にセッ ト され、 ロー ド でき なか っ た場合は 0 にク リアされる。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト 保護モード例外 #GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 DS、 ES、 FS、 または GS レジスタを使用してメモリがア クセスされ、 レジスタの内容が NULL セグメン ト ・ セレ クタであった場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) 現行特権レベルが 3 のときに、 アライメント ・チェックが イネーブルにされていて、 アライメントが合わないメモリ 参照が行われた場合。 実アドレス・モード例外 #UD LSL 命令は実ア ド レ ス ・ モ ー ド では認識 さ れない。 仮想 8086 モード例外 NaT レ ジ ス タ参照アボ ー ト 。 VHPT データ ・ フォル ト、 ネス ト された TLB フォルト、 データ TLB フォルト、 代替データTLB フォルト、 デー タ・ページ不在フォルト、 データNaT ページ参照アボー ト、 データ・キー・ ミス・フォルト、 データ・キー許可 フォルト、 データ・アクセス権フォルト、 データ・アクセ ス・ビット ・フォルト、 データ・ダーティ ・ビット ・フォ ルト。 #UD LSL 命令は仮想 8086 モー ドでは認識されない。 第 3 巻 : IA-32 基本命令リファレンス 3:651

LSL—Load Segment Limit ( 続き )<br />

操作<br />

タイプ 名前 有効 / 無効<br />

0 予約済み 無効<br />

1 使用可能 16 ビット TSS 有効<br />

2 LDT 有効<br />

3 ビジー 16 ビット TSS 有効<br />

4 16 ビット・コール・ゲート 無効<br />

5 16 ビット /32 ビット・タスク・ゲート 無効<br />

6 16 ビット・トラップ・ゲート 無効<br />

7 16 ビット割り込みゲート 無効<br />

8 予約済み 無効<br />

9 使用可能 32 ビット TSS 有効<br />

A 予約済み 無効<br />

B ビジー 32 ビット TSS 有効<br />

C 32 ビット・コール・ゲート 無効<br />

D 予約済み 無効<br />

E 32 ビット・トラップ・ゲート 無効<br />

F 32 ビット割り込みゲート 無効<br />

IF SRC(Offset) > descriptor table limit<br />

THEN ZF ← 0; FI;<br />

Read segment descriptor;<br />

IF SegmentDescriptor(Type) ≠ conforming code segment<br />

AND (CPL > DPL) OR (RPL > DPL)<br />

OR Segment type is not valid for instruction<br />

THEN<br />

ZF ← 0<br />

ELSE<br />

temp ← SegmentLimit([SRC]);<br />

IF (G = 1)<br />

THEN<br />

temp ← ShiftLeft(12, temp) OR 00000FFFH;<br />

FI;<br />

IF OperandSize = 32<br />

THEN<br />

DEST ← temp;<br />

ELSE (*OperandSize = 16*)<br />

DEST ← temp AND FFFFH;<br />

FI;<br />

FI;<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!