ml64 - 警告 A6004:未引用过程参数或本地
我在 Visual Studio 2005 中为 x64 microsft 宏汇编器编写了一个函数。 该函数接收 3 个参数:
theFunction PROC firstP:QWORD, secondP:QWORD, thirdP:QWORD
x64 调用约定规定前 4 个参数将驻留在寄存器 rcx、rdx、r8 和 r8 中。 r9。 当我在函数中使用参数时,我引用的是注册它们自身而不是参数:
mov r10, rcx ; Move firstP to r10
这会导致以下警告:
警告 A6004:过程参数或本地未引用
如何避免或抑制此警告? 有什么方法可以引用函数内部的参数而不是使用寄存器吗?
I have a function written for th e x64 microsft macro assembler in visual studio 2005.
The function recieves 3 arguments:
theFunction PROC firstP:QWORD, secondP:QWORD, thirdP:QWORD
the x64 calling convention state the the first 4 arguments will reside in registers rcx, rdx, r8 & r9.
When I'm using the arguments in the function, I'm referencing the register them self and not the parameters:
mov r10, rcx ; Move firstP to r10
This causes the following warning:
warning A6004: procedure argument or local not referenced
How can I avoid or surpress this warning?
Is there any way to reference the parameters inside the function instead of using the registers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
找到解决方案:我不需要像我那样声明 PROC。无需声明传递给函数的参数。
Found the solution: I didn't need to declare the PROC the way I did. No need to declare the parameters that are passed to the function.