程序 1
1.程序运行时 n,a,b,c 的段地址在哪个寄存器中?
经验证 n 为全局变量,段地址在 DS 寄存器。a,b 是形参,其通过堆栈得
到实参的值,段地址在 ss 寄存器。c 为局部变量,当局部变量的定义少于等
于两个则存放在 si,di 寄存器中,多的话会放在堆栈中,还有一种情况就是
如果一个局部变量被多次使用也会放在 si,di 中的。所以 c 的段地址在 ss 寄
存器中或者没有。
2.函数返回值放在什么地方?
JMP 指令对应 return
char 型的返回值放在 AL 中,int 型 的返回值放在 AX 中。Long int 型返
回值在 AX,DX 中。
3.局部变量什么时候分配?什么时候释放?
如果局部变量在自己函数里使用,则开始就去分配空间,函数结束前释放
评论0