-1

x64 アセンブリ プロシージャのエントリ コードが次のとおりであるとします。

push  rsi
push  r12
sub   rsp,48

さて、 PROC の本体でこれらの各値を見つけるにはどうすればよいですか:

1)第1パラメータ 2)第3パラメータ 3)第5パラメータ 4)第7パラメータ

スタックを描いたり説明したりしていただければ、理解するのに非常に役立ちます。

4

1 に答える 1

2

Windows x64 呼び出し規約から:

最初の 4 つの整数またはポインター引数は、、、、およびで左から右に渡されRCXます。これらのレジスタがいっぱいになると、他のすべてがスタックに置かれます (最初の 4 つの浮動小数点引数を除く)。RDXR8R9

コードがどのように呼び出されるかがわからないため、そのプロローグから引数を推測することはできません。そこにあるものを見つけるためにそれを呼び出すコードを調べる必要があります.2つのpushesはおそらく破壊されたレジスタを保存しているだけです.

于 2013-01-01T21:15:00.840 に答える