Pregunta

Tengo una función escrita para el ensamblador de macros x64 microsft en visual studio 2005. La función recibe 3 argumentos:

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

el estado de la convención de llamada x64 los primeros 4 argumentos residirán en los registros rcx, rdx, r8 & amp; r9 Cuando estoy usando los argumentos en la función, estoy haciendo referencia al registro ellos mismos y no a los parámetros:

mov r10, rcx   ; Move firstP to r10

Esto provoca la siguiente advertencia:

  

advertencia A6004: argumento de procedimiento o local no referenciado

¿Cómo puedo evitar o suprimir esta advertencia? ¿Hay alguna forma de hacer referencia a los parámetros dentro de la función en lugar de usar los registros?

¿Fue útil?

Solución

Encontré la solución: no necesitaba declarar el PROC de la forma en que lo hice. No es necesario declarar los parámetros que se pasan a la función.

theFunction PROC
mov r10, rcx       ;Move firstP to r10
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top