ml64 - avviso A6004: argomento della procedura o locale non referenziato
-
05-07-2019 - |
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?
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