1

VisualStudio2005のx64microsftマクロアセンブラー用に作成された関数があります。この関数は3つの引数を受け取ります。

theFunction PROC firstP:QWORD, secondP:QWORD, thirdP:QWORD

x64呼び出し規約では、最初の4つの引数はレジスタrcx、rdx、r8、およびr9に存在します。関数で引数を使用しているときは、パラメーターではなく、レジスター自体を参照しています。

mov r10, rcx   ; Move firstP to r10

これにより、次の警告が発生します。

警告A6004:プロシージャ引数またはローカルが参照されていません

この警告を回避または抑制するにはどうすればよいですか?レジスタを使用する代わりに、関数内のパラメータを参照する方法はありますか?

4

1 に答える 1

1

解決策を見つけました:私が行ったようにPROCを宣言する必要はありませんでした。関数に渡されるパラメーターを宣言する必要はありません。

theFunction PROC
mov r10, rcx       ;Move firstP to r10
于 2009-10-21T12:47:14.453 に答える