大哥大姐 帮我看看
int jf(n)int n;
{
static int f=1;
f=f*n;
}
main()
{
int i;
for(i=1;i<=6;i++)
printf("%d!=%d\n",i,jf(i));}
int jf(n) 是怎样被调用的
push si ;si用于存储i,压入作为jf的实参 push cs ;由于jf被定义成far类型,所以压入个cs作为返回地址 call near ptr _jf ;调用jf pop cx ;弹出压入的si(i),堆栈平衡 push ax ;将调用jf得到的值作为参数压入,供printf调用 push si ;i mov ax,offset DGROUP:s@ ;"%d!=%d\n"的地址,也就是指向"%d!=%d\n"的指针 push ax ;压入 call far ptr _printf ;调用printf环境tc: