オペコード 命令 64
ビットモード
互換/ レガシーモード
説明
8F /0 POP m16 有効 有効 スタックのトップをm16にポップし、
スタックポインタをインクリメントす る。
8F /0 POP m32 N.E. 有効 スタックのトップをm32にポップし、
スタックポインタをインクリメントす る。
REX.W + 8F /0 POP m64 有効 N.E. スタックのトップをm64にポップし、
スタックポインタをインクリメントす る。32ビットのオペランド・サイズは コード化できない。
58+ rw POP r16 有効 有効 スタックのトップをr16にポップし、ス
タックポインタをインクリメントする。
58+ rd POP r32 N.E. 有効 スタックのトップをr32にポップし、ス
タックポインタをインクリメントする。
REX.W + 58+
rd
POP r64 有効 N.E. スタックのトップをr64にポップし、ス
タックポインタをインクリメントする。
32ビットのオペランド・サイズはコー ド化できない。
1F POP DS 無効 有効 スタックのトップをDSにポップし、ス
タックポインタをインクリメントする。
07 POP ES 無効 有効 スタックのトップをESにポップし、ス
タックポインタをインクリメントする。
17 POP SS 無効 有効 スタックのトップをSSにポップし、ス
タックポインタをインクリメントする。
0F A1 POP FS 有効 有効 スタックのトップをFSにポップし、ス
タックポインタを16ビットだけインク リメントする。
0F A1 POP FS N.E. 有効 スタックのトップをFSにポップし、ス
タックポインタを32ビットだけインク リメントする。
0F A1 POP FS 有効 有効 スタックのトップをFSにポップし、ス
タックポインタを64ビットだけインク リメントする。
0F A9 POP GS 有効 有効 スタックのトップをGSにポップし、ス
タックポインタを16ビットだけインク リメントする。
0F A9 POP GS N.E. 有効 スタックのトップをGSにポップし、ス
タックポインタを32ビットだけインク リメントする。
0F A9 POP GS 有効 有効 スタックのトップをGSにポップし、ス
タックポインタを64ビットだけインク リメントする。
命令セット・リファレンス(M-Z) 3-163 IA-32eモードでの操作
上記の表を参照。
保護モード例外
#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 セグメントの範囲外の場合。
仮想8086モード例外
#GP(0) メモリ・オペランドの実効アドレスがCS、DS、ES、FS、またはGS セグメントの範囲外の場合。
#PF(フォルトコード) ページフォルトが発生した場合。
#AC(0) アライメント・チェックがイネーブルにされていて、アライメント
が合わないメモリ参照が行われた場合。
互換モード例外 保護モード例外と同じ。
64ビットモード例外
#GP(0) メモリアドレスが非標準形式の場合。
#SS(U) スタックアドレスが非標準形式の場合。
#GP(セレクタ) ディスクリプタがディスクリプタ・テーブルの範囲外の場合。
FSまたはGSレジスタがロードされ、指示先のセグメントがデー タ・セグメントまたは読み出し可能なコード・セグメントでない場 合。
FSまたはGSレジスタがロードされ、指示先のセグメントがデー タ・セグメントまたは非コンフォーミング・コード・セグメントで あるが、RPLとCPLの両方ともDPLより大きい場合。
#AC(0) アライメント・チェックがイネーブルにされていて、アライメント
が合わないメモリ参照が行われた場合。
#PF(フォルトコード) ページフォルトが発生した場合。
#NP FSまたはGSレジスタがロードされ、指示先のセグメントが存在し ないとマークされている場合。
命令セット・リファレンス(M-Z) 3-165