有关调用指令(过程、函数调用)的叙述中,错误的是:
A: 与高级语言源程序中的过程调用相对应,一次过程调用对应一条指令
B: 指令执行时必须保留返回地址,调用指令随后一条指令的地址是返回地址
C: 嵌套调用时,返回地址通常保存在栈中,非嵌套调用时,可以保存在特定寄存器中
D: 指令执行时,无条件转移到目标地址处,转移目标地址不需要在指令中明显给出
A: 与高级语言源程序中的过程调用相对应,一次过程调用对应一条指令
B: 指令执行时必须保留返回地址,调用指令随后一条指令的地址是返回地址
C: 嵌套调用时,返回地址通常保存在栈中,非嵌套调用时,可以保存在特定寄存器中
D: 指令执行时,无条件转移到目标地址处,转移目标地址不需要在指令中明显给出
举一反三
- 执行返回指令时,从堆栈中弹出的是 A: 调用指令的首地址 B: 调用指令的末地址 C: 调用指令下一条指令的首地址 D: 返回指令的末地址
- 假设P为调用过程,Q为被调用过程,程序在IA-32处理器上执行,以下有关过程调用的叙述中,错误的是() A: C语言程序中的函数调用就是过程调用 B: 从P传到Q的实参无需重新分配存储空间 C: 从P跳转到Q执行应使用CALL指令 D: 返回地址是CALL指令下一条指令的地址,被保存在栈中
- 执行返回指令时,返回的断点是调用指令的首地址
- 当执行调用指令时,首先将该指令下一条指令的地址压入到堆栈区,保护其下一条指令的地址,然后再将转移的地址送()实现转移;当再执行RET指令时自动将堆栈中的地址弹入PC从而实现返回。
- 程序计数器PC用来存放下一条指令的地址,CPU取指令后会自动修改PC的内容,试问下列指令中,不能强制改变PC内容的指令是() A: 执行压栈指令 B: 执行转移指令 C: 执行调用指令 D: 中断返回或子程序返回