ml64 - предупреждение A6004: аргумент процедуры или локальный не указан

StackOverflow https://stackoverflow.com/questions/1600355

Вопрос

У меня есть функция, написанная для макро-ассемблера x64 в Microsoft Visual Studio 2005. Функция получает 3 аргумента:

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

в соглашении о вызовах x64 указано, что первые 4 аргумента будут находиться в регистрах rcx, rdx, r8 & amp; г9. Когда я использую аргументы в функции, я ссылаюсь на регистр самостоятельно, а не на параметры:

mov r10, rcx   ; Move firstP to r10

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

  

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

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

Это было полезно?

Решение

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

theFunction PROC
mov r10, rcx       ;Move firstP to r10
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top