24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

AND ─ Logical AND ( 続き ) 保護モード例外 #GP(0) デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド の指示先が書き込み不可 能なセグ メ ン ト の場合。 メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 DS、 ES、 FS、 または GS レジスタの内容がNULL セグメ ン ト ・ セ レ ク タ の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 現行 特権レベルが 3 のときにアライメントが合わないメモリ参 照を行った場合。 実アドレス・モード例外 #GP メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 仮想 8086 モード例外 #GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メ ン ト が合わないメモ リ 参照を行っ た場合。 3:390 第 3 巻 : IA-32 基本命令リファレンス

ARPL ─ Adjust RPL Field of Segment Selector オペコード 命令 説明 63 /r ARPL r/m16,r16 r/m16 の RPL を r16 の RPL 未満に調整する。 説明 2 つのセグメン ト ・ セレ ク タの RPL フィールドを比較する。 第1 オペラン ド ( デステ ィ ネーション ・ オペランド ) に一方のセグメン ト ・ セレ ク タがあり、 第 2 オペラン ド ( ソー ス・オペランド ) に他方のセグメン ト ・ セレ ク タがある。 (RPL フィールドは各オペランド のビッ ト 0 と 1 を占める。 ) デステ ィ ネーシ ョ ン ・ オペラン ド の RPL フィールドがソー ス・オペランドのRPL フィールドより小さい場合は、 ZF フラグがセッ ト され、 デスティ ネーション ・ オペランドの RPL フィールドが増加されてソース・オペランドのRPL フィールドに合わせられる。 そうでない場合は、 ZF フラグがクリアされ、 デスティネー ション・オペランドの変更は行われない。 ( デステ ィ ネーシ ョ ン ・ オペラン ド には、 ワー ド・レジスタまたはメモリ・ロケーションを使用できる。 ソース・オペランドは、 ワー ド・レジスタでなければならない。) APRL 命令は、 オペレ ー テ ィ ン グ ・ シ ス テ ム ・ プ ロ シ ー ジ ャ に使用 さ せるために設け ら れている ( ただし、 アプ リ ケーシ ョ ン も使用でき る )。 この命令は、 一般に、 アプ リ ケー シ ョ ンからオペレーテ ィ ング ・ システムに渡されていたセグメント ・ セレクタの RPL を 調整して、 アプ リ ケ ー シ ョ ン ・ プ ロ グ ラ ムの特権レベルに合わせる ために使用す る。 こ こで、 オペレーティング ・ システムに渡されていたセグメント ・セレクタがデスティ ネーション・オペランドに入れられ、 アプリケーション・プログラムのコード ・セグメ ントのセグメント ・セレクタがソース・オペランドに入れられる。 ( ソース・オペランド の RPL フィールドはアプリケーション・プログラムの特権レベルを表す。 ) 次に、 ARPL 命令を実行すれば、 オペレ ー テ ィ ン グ ・ シ ス テ ムが受け取 っ ていたセグ メ ン ト ・ セレ ク タの RPL をアプ リ ケーシ ョ ン ・ プログラムの特権レベルよ り低く ( 特権レベルを高 く ) させないように保証できる。 ( アプ リ ケーシ ョ ン ・ プログラムのコ ー ド ・ セグメン ト のセ グメント ・セレクタはプロシージャ ・ コールの後でスタックから読み出せる。 ) こ の命令の使用方法の詳細は、 『IA-32 インテル ® アーキテクチャ ・ ソフ ト ウェア ・ ディ ベロッパーズ ・ マニュアル、 下巻』 を参照のこ と。 操作 IF DEST(RPL) < SRC(RPL) THEN ZF ← 1; DEST(RPL) ← SRC(RPL); ELSE ZF ← 0; FI; 影響を受けるフラグ デステ ィ ネーシ ョ ン ・ オペラン ド の RPL フィールドがソース・オペランドのRPL フィールドより小さい場合は、 ZF フラグが1 にセッ ト される。 そ う でない場合は、 ZF フラグが0 にク リアされる。 第 3 巻 : IA-32 基本命令リファレンス 3:391

ARPL ─ Adjust RPL Field of Segment Selector<br />

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

63 /r ARPL r/m16,r16 r/m16 の RPL を r16 の RPL 未満に調整する。<br />

説明<br />

2 つのセグメン ト ・ セレ ク タの RPL フィールドを比較する。 第1 オペラン ド ( デステ ィ<br />

ネーション ・ オペランド ) に一方のセグメン ト ・ セレ ク タがあり、 第 2 オペラン ド ( ソー<br />

ス・オペランド ) に他方のセグメン ト ・ セレ ク タがある。 (RPL フィールドは各オペランド<br />

のビッ ト 0 と 1 を占める。 ) デステ ィ ネーシ ョ ン ・ オペラン ド の RPL フィールドがソー<br />

ス・オペランドのRPL フィールドより小さい場合は、 ZF フラグがセッ ト され、 デスティ<br />

ネーション ・ オペランドの RPL フィールドが増加されてソース・オペランドのRPL<br />

フィールドに合わせられる。 そうでない場合は、 ZF フラグがクリアされ、 デスティネー<br />

ション・オペランドの変更は行われない。 ( デステ ィ ネーシ ョ ン ・ オペラン ド には、 ワー<br />

ド・レジスタまたはメモリ・ロケーションを使用できる。 ソース・オペランドは、 ワー<br />

ド・レジスタでなければならない。)<br />

APRL 命令は、 オペレ ー テ ィ ン グ ・ シ ス テ ム ・ プ ロ シ ー ジ ャ に使用 さ せるために設け ら<br />

れている ( ただし、 アプ リ ケーシ ョ ン も使用でき る )。 この命令は、 一般に、 アプ リ ケー<br />

シ ョ ンからオペレーテ ィ ング ・ システムに渡されていたセグメント ・ セレクタの RPL を<br />

調整して、 アプ リ ケ ー シ ョ ン ・ プ ロ グ ラ ムの特権レベルに合わせる ために使用す る。 こ<br />

こで、 オペレーティング ・ システムに渡されていたセグメント ・セレクタがデスティ<br />

ネーション・オペランドに入れられ、 アプリケーション・プログラムのコード ・セグメ<br />

ントのセグメント ・セレクタがソース・オペランドに入れられる。 ( ソース・オペランド<br />

の RPL フィールドはアプリケーション・プログラムの特権レベルを表す。 ) 次に、 ARPL<br />

命令を実行すれば、 オペレ ー テ ィ ン グ ・ シ ス テ ムが受け取 っ ていたセグ メ ン ト ・ セレ ク<br />

タの RPL をアプ リ ケーシ ョ ン ・ プログラムの特権レベルよ り低く ( 特権レベルを高 く )<br />

させないように保証できる。 ( アプ リ ケーシ ョ ン ・ プログラムのコ ー ド ・ セグメン ト のセ<br />

グメント ・セレクタはプロシージャ ・ コールの後でスタックから読み出せる。 )<br />

こ の命令の使用方法の詳細は、 『IA-32 インテル ® アーキテクチャ ・ ソフ ト ウェア ・ ディ<br />

ベロッパーズ ・ マニュアル、 下巻』 を参照のこ と。<br />

操作<br />

IF DEST(RPL) < SRC(RPL)<br />

THEN<br />

ZF ← 1;<br />

DEST(RPL) ← SRC(RPL);<br />

ELSE<br />

ZF ← 0;<br />

FI;<br />

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

デステ ィ ネーシ ョ ン ・ オペラン ド の RPL フィールドがソース・オペランドのRPL<br />

フィールドより小さい場合は、 ZF フラグが1 にセッ ト される。 そ う でない場合は、 ZF<br />

フラグが0 にク リアされる。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!