2

アセンブリプログラミングでプッシュやポップなどのスタック操作を完了した後、スタックの有効な開始アドレスを取得することは可能ですか?

4

2 に答える 2

1

慣例では、関数の先頭で(E)SPを(E)BPに保存し、ローカル変数のアドレス指定に(E)BPを使用します。

于 2010-03-01T17:39:39.017 に答える
0

最も単純なケースは、初期スタックポインタを変数に保存して、必要なときにアクセスできるようにすることです。そうでない場合は、現在のSP値を最初のパラメーターとして使用して、プラットフォーム固有のAPI(WindowsのVirtualQueryなど)を使用します。ベースアドレスは、MEMORY_BASIC_INFORMATION構造体のBaseAddressフィールドにあります。posixタスクでは、pthread関数を使用して実行できます

于 2010-03-01T14:04:12.140 に答える