Question

J'ai une fonction écrite pour l'assembleur de macros microsft x64 dans Visual Studio 2005. La fonction reçoit 3 arguments:

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

La convention d’appel x64 indique que les 4 premiers arguments résideront dans les registres rcx, rdx, r8 & amp; r9. Lorsque j'utilise les arguments de la fonction, je référence le registre eux-mêmes et non les paramètres:

mov r10, rcx   ; Move firstP to r10

Cela provoque l'avertissement suivant:

  

avertissement A6004: argument de procédure ou local non référencé

Comment puis-je éviter ou surprimer cet avertissement? Est-il possible de référencer les paramètres à l'intérieur de la fonction au lieu d'utiliser les registres?

Était-ce utile?

La solution

J'ai trouvé la solution: je n'avais pas besoin de déclarer le PROC comme je l'ai fait. Nul besoin de déclarer les paramètres passés à la fonction.

theFunction PROC
mov r10, rcx       ;Move firstP to r10
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top