24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

POP—Pop a Value from the Stack ( 続き ) 仮想 8086 モード例外 #GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ イ メン ト が合わないメモ リ 参照が行われた場合。 3:690 第 3 巻 : IA-32 基本命令リファレンス

POPA/POPAD—Pop All General-Purpose Registers オペコード 命令 説明 61 POPA DI、SI、BP、BX、DX、CX、AX をポップする。 61 POPAD EDI、ESI、EBP、EBX、EDX、ECX、EAX をポップする。 説明 ダブルワー ド (POPAD) またはワー ド (POPA) をスタ ッ クから汎用レジスタにポップする。 レジスタがロード される順番は、 ( オペラン ド ・ サイズ属性が 32 である場合は ) EDI、 ESI、 EBP、 EBX、 EDX、 ECX、 EAX であ り、 ( オペラン ド ・ サイズ属性が 16 である場 合は ) DI、 SI、 BP、 BX、 DX、 CX、 AX である。 これらの命令は、 PUSHA/PUSHAD 命 令の逆の操作を実行する。 ESP レジスタまたは SP レジスタのスタック上の値は無視され る。 その代わりに、 ESP レジスタまたは SP レジスタは、 各レジスタがロード された後に インク リ メン ト される。 POPA ( すべてをポ ッ プ ) ニーモニッ クおよび POPAD ( すべてのダブルをポ ッ プ ) ニーモ ニックは、 同じオペコードを参照する。 POPA 命令は、 オペラ ン ド ・ サイ ズ属性が 16 で ある と きに使用するためのものであり、 POPAD 命令は、 オペラ ン ド ・ サ イ ズ属性が 32 である と き に使用す る ための も のである。 一部のアセンブ ラ は、 ( 必要な場合に は オペラ ンド ・サイズ・オーバライド ・プリフィックス[66H] を使用して ) POPA が使用される と きはオペランド ・サイズを 16 に、 POPAD が使用される と き は 32 に強制する。 他のアセ ンブラは、 これらのニーモニッ クをシノニム (POPA/POPAD) として取り扱い、 オペラン ド ・ サイズ属性の現在の設定を使用して、 使用されているニーモニ ッ ク に関係な く 、 ス タックからポップする値のサイズを決定できる。 操作 IF OperandSize = 32 (* instruction = POPAD *) THEN EDI ← Pop(); ESI ← Pop(); EBP ← Pop(); increment ESP by 4 (* skip next 4 bytes of stack *) EBX ← Pop(); EDX ← Pop(); ECX ← Pop(); EAX ← Pop(); ELSE (* OperandSize = 16, instruction = POPA *) DI ← Pop(); SI ← Pop(); BP ← Pop(); increment ESP by 2 (* skip next 2 bytes of stack *) BX ← Pop(); DX ← Pop(); CX ← Pop(); AX ← Pop(); FI; 影響を受けるフラグ なし。 第 3 巻 : IA-32 基本命令リファレンス 3:691

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

仮想 8086 モード例外<br />

#GP(0) メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、<br />

または GS セグ メ ン ト の範囲外の場合。<br />

#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />

#AC(0) アライメン ト ・ チェ ッ クがイネーブルにされていて、 アラ<br />

イ メン ト が合わないメモ リ 参照が行われた場合。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!