【答案解析】(1)返回指令常称为零地址指令,返回地址保存在堆栈中,执行返回指令时自动从堆栈中弹出。而目前返回地址是保存在子程序第一个单元中,所以此时返回指令不能再是零地址指令了,而应当是一地址指令。可如下设计:
间接寻址可找到返回地址,然后无条件转移到返回的位置。
(2)在这种情况下,可利用寄存器或主存单元进行主、子程序之间的参数传递。
(3)可以用于子程序的嵌套(多重子程序),因为每个返回地址都存放在调用的子程序的第一个单元中。
(4)不可以用于子程序的递归,因为当某个子程序自己调用自己时,子程序的第一个单元的内容将被破坏。
(5)如果改为堆栈方法.可以实现子程序的递归,因为堆栈具有先进后出的功能。