代码如下:
#include <stdio.h>
int abs(int i)
{
_asm mov eax, i;
_asm or eax, eax;
_asm jge EXIT;
_asm neg eax;
_asm mov i, eax;
EXIT:
return i;
}
int abs2(int i)
{
_asm {
mov eax, i;
or eax, eax;
jge EXIT;
neg eax;
mov i, eax;
}
EXIT:
return i;
}
void helloword()
{
char pch[]="hello world!";
// _asm mov eax,pch // error C2443: 操作数大小冲突
_asm mov eax, dword ptr pch
puts(pch);
}
int main()
{
int a = -1;
helloword();
printf("%d\n", abs(a));
}