assembly - 错误:没有给出指令助记符后缀,也没有寄存器操作数;无法调整大小指令
问题描述
我查看了以前的堆栈问题,但我仍然迷路了。帮助?
这是有问题的代码:
float dotproduct(int x[], int y[], int len){
int output = 0;
int* x1 = x;
int* x2 = y;
asm(
".loop: \n \t"
"mov %1, %%rax \n\t"
"imul %2, %%rax \n\t"
"add %%rax, %%rbx \n\t"
"add $8, %1 \n\t"
"add $8, %2 \n\t"
"dec %3 \n\t"
"jnz .loop \n\t"
"movl %%ebx, %0 \n\t"
:"=g" (output)
:"g" (x1), "g" (x2), "g" (len)
:"rax", "%rbx", "%rcx", "%rdx"
);
return output;
}
错误:没有给出指令助记符后缀,也没有寄存器操作数;无法调整大小指令
解决方案
推荐阅读
- python - shell 提示符中缺少 conda virtualenv 名称?
- sql - 如何在 PL SQL Developer 中修改列以自动递增?
- android - 当上下文被破坏时,我们不能通过使用意图来启动一个新的活动吗?我对吗?
- excel - SAS 和 Excel 中百分位数的不同结果
- c++ - 如何使线程消毒剂“更准确”?
- spring-boot - Deploy Apache Camel on(with or without spring boot) on wildfly server
- c - Function to get the Size of allocated Memory from pointer only
- python - How to parse time string without date and date string without time?
- python - 如何“以 Python 方式”使用/链接函数?
- javascript - How to accelerate ajax http request using Greasemonkey?