16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

RET—Return from Procedure<br />

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

C3 RET コール元プロシージャに near リターンする。<br />

CB RET コール元プロシージャに far リターンする。<br />

C2 iw RET imm16 コール元プロシージャに near リターンし、imm16 バイトをスタッ<br />

クからポップする。<br />

CA iw RET imm16 コール元プロシージャに far リターンし、imm16 バイトをスタック<br />

からポップする。<br />

説明<br />

プログラム制御をスタックのト ップにあるリターン ・ アド レスに移す。 通常、 アド レス<br />

は CALL 命令に よ っ てス タ ッ ク に置かれ、 リ タ ー ンは CALL 命令の後に続 く 命令に対し<br />

て行われる。<br />

オプションのソース・オペランドは、 リターン・アドレスがポップされた後にリリース<br />

されるスタ ッ ク ・ バイ ト数を指定し、 デフ ォル ト ではなしである。 このオペラン ド は、<br />

コール先プロシージャに渡されてもう必要ないパラメータをスタックから リ リースする<br />

ために使用でき る。<br />

RET 命令を使用して、 以下の異な る 3 つのタ イプの リ タ ーンを実行する こ と ができ る。<br />

• near リターン— 現在の コ ー ド ・ セグ メ ン ト ( 現在の CS レジスタの指示先のセグメ<br />

ント ) 内にある コ ール元プロシー ジ ャへの リ タ ーン。 セグメン ト 内 リ タ ーン と もい<br />

う。<br />

• far リターン— 現在の コ ー ド ・ セグ メ ン ト と は異なるセグ メ ン ト 内にある コ ール元<br />

プロシージャへのリ ターン。 セグメント間リ ターンと もいう。<br />

• 特権レ ベル間 far リターン— 現在実行中のプログラムまたはプロシージャの特権レ<br />

ベル と は異なる特権レベルへの far リターン。<br />

特権レベル間 リ タ ー ン ・ タ イ プは、 保護モー ド でしか実行で き ない。<br />

near リターンを実行すると、 プロセッサは、 リターン命令ポインタ( オフセッ ト ) をプ<br />

ロシージャ ・ スタッ クのト ップから EIP レジスタにポ ッ プし、 新しい命令ポインタでの<br />

プログラム実行を開始する。 CS レジスタは変更されない。<br />

far リターンを実行すると、 プロセッサは、 リターン命令ポインタをスタックのトップか<br />

ら EIP レジスタにポップし、 次にセグメント ・セレクタをプロシージャ ・ スタックの<br />

トップからCS レジスタにポ ッ プする。 プロセ ッサは、 その後、 新しい命令ポインタに<br />

ある新しいコ ー ド ・ セグメン ト でのプログラム実行を開始する。<br />

特権レベル間 far リターンのメカニズムは、 セグメント間リターンと同様であるが、 プ<br />

ロ セ ッ サが戻 さ れる コ ー ド ・ セグ メ ン ト と ス タ ッ ク ・ セグ メ ン ト の特権レ ベル と ア ク セ<br />

ス権を調べて、 制御の転送を行う こ とができ るかど うかを判断する点が異なる。 DS、<br />

ES、 FS、 GS セグメン ト ・ レジスタは、 新しい特権レベルではアクセスするこ とができ<br />

ないセグ メ ン ト を それ ら が参照している場合は、 特権レベル間 リ タ ー ン中に RET 命令に<br />

よ っ て ク リ ア さ れる。 特権レベル間 リ タ ー ンでは ス タ ッ ク ・ ス イ ッ チ も 行われる ので、<br />

ESP レジスタおよびSS レジスタがスタックからロード される。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!