Domanda

Ho una funzione scritta per il macro assemblatore di microsft x64 in Visual Studio 2005. La funzione riceve 3 argomenti:

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

la convenzione di chiamata x64 afferma che i primi 4 argomenti risiederanno nei registri rcx, rdx, r8 & amp; R9. Quando sto usando gli argomenti nella funzione, faccio riferimento al loro registro e non ai parametri:

mov r10, rcx   ; Move firstP to r10

Questo provoca il seguente avviso:

  

avviso A6004: argomento della procedura o locale non referenziato

Come posso evitare o sopprimere questo avviso? Esiste un modo per fare riferimento ai parametri all'interno della funzione invece di utilizzare i registri?

È stato utile?

Soluzione

Trovato la soluzione: non avevo bisogno di dichiarare PROC come ho fatto io. Non è necessario dichiarare i parametri passati alla funzione.

theFunction PROC
mov r10, rcx       ;Move firstP to r10
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top