int my_add(int a)
{
return (++a);
}
void main(void)
{
int a=8;
int b=0;
printf("a=%d /r/n",a);
__asm
{
push a; // 压入参数
call my_add; // 调用函数
mov b,eax; // 将函数返回值送入变量b //注:函数的返回值默认在eax寄存器
add esp,4; // 手动平衡堆栈,否则程序会出错 //注:加4是因为int型是4个字节
}
printf("b=%d /r/n",b);
}
评论