问题
问答题
在某些计算机中,调用子程序的方法是这样实现的:转子指令将返回地址存入子程序的第一个字单元,然后从第二个字单元开始执行子程序,请回答下列问题:
1.为这种方法设计一条从子程序转到主程序的返回指令。
2.在这种情况下,怎么在主、子程序间进行参数的传递
3.上述方法是否可用于子程序的嵌套
4.上述方法是否可用于子程序的递归(即某个子程序自己调用自己)
5.如果改为用堆栈方法,是否可实现(4)所提出的问题
答案
参考答案:(1)返回指令常称为零地址指令,返回地址保存在堆栈中,执行返回指令时自动从堆栈中弹出。而目前返回地址是保存在子程序第一个单元中,所以此时返回指令不能再是零地址指令了,而应当是一地址指令。可如下设计:
JMP
|