我正在尝试使用内联汇编,并尝试在内联汇编中添加十进制数(不,不是整数)。问题是,当我调用以下函数时:
inline double ADD(double num1, double num2) {
double res;
_asm{
push eax; push the former state of eax onto stack
mov eax, num1;
add eax, num2;
mov res, eax;
pop eax; restore the former state of eax now that we are done
} return res;}
编译器抱怨内联汇编中的操作数大小不正确(所有汇编行,不包括 push 和 pop 指令行)。所以只好改成整数类型,比如unsigned long,然后就可以了,不过当然只支持整数类型;十进制结果四舍五入。
有没有办法添加允许像 8.4 这样的十进制结果的程序集?