1

ATT構文。

Cのライブラリルーチンは、次のアセンブリコードのスニペットを使用することがよくあります。

call next
next:
popl %eax
  • ここに格納されている%eaxの値と、それがポップされるのはなぜですか?
  • このスニペットの目的は何ですか?
4

2 に答える 2

2

プログラムカウンター(PC)の現在の値を示します。つまり、実行中の現在の命令のアドレスを取得します。

これは、そのスニペットの使用とCでの実行について説明している興味深い記事です:http://blogs.msdn.com/b/oldnewthing/archive/2004/12/16/317157.aspx

于 2013-01-31T01:06:31.003 に答える
1

この一連の命令の後の%eaxの値は何ですか?

次を呼び出す

次へ:popl%eax

次のアドレスが何であれ

(popl命令があるメモリアドレス)注:これはPCではありませんが、それに関連しています

– PCは、次に実行される命令のアドレスです。%eaxには、最近実行された命令(popl)のアドレスが含まれるようになりました。

見る

于 2013-01-31T01:08:55.513 に答える