大哥大姐 帮我看看
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: