2009-10-21 4 views
0

У меня есть функция, написанная для электронной й x64 Microsft макроассемблера в Visual Studio 2005. Функции recieves 3 аргумента:ml64 - предупреждение A6004: процедура аргумент или локальная нет ссылок

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

х64 призывающих государства конвенционных первые 4 аргумента будут находиться в регистрах rcx, rdx, r8 & r9. Когда я использую аргументы в функции, я ссылающийся на регистрацию их сами, а не параметры:

mov r10, rcx ; Move firstP to r10 

Это вызывает следующее предупреждение:

предупреждения A6004: аргумент процедуры или местный не имеет ссылок

Как я могу избежать или пресекать это предупреждение? Есть ли способ ссылаться на параметры внутри функции вместо использования регистров?

ответ

0

Нашли решение: Мне не нужно было объявлять PROC так, как я. Нет необходимости объявлять параметры, которые передаются функции.

theFunction PROC 
mov r10, rcx  ;Move firstP to r10