最近尝试在C中内嵌汇编语句,谁知写个简单的如下程序都遇到了问题:
#include <iostream>
void exchange(int a,int b);
void main()
{
int x,y;
scanf_s("%d,%d", &x, &y);
printf("x=%d, y=%d\n", x, y);
exchange(x, y);
printf("x=%d, y=%d\n", x, y);
}
//内嵌汇编语句
void exchange(int a,int b)
{
__asm
{
mov ax,a
mov bx,b
mov a,bx
mov b,ax
}
}
以上代码会引起:error C2443: operand size conflict异常。
百度了下,发现http://blog.sina.com.cn/s/blog_913c070a010103oz.html的解决方法不错