子程序采用堆栈传递参数,为什么要特别注意堆栈平衡问题?
子程序保持堆栈平衡,才能保证执行RET指令时当前栈顶的内容是正确的返回地址。主程序也要保持堆栈平衡,这样才能释放传递参数占用的堆栈空间,否则多次调用该子程序可能就致使堆栈溢出。
举一反三
内容
- 0
子程序调用时,参数的传递方法有寄存器、存储器、堆栈三种方法
- 1
子程序的基本结构包括()等几个部分;子程序的参数传递有寄存器、堆栈、存储器等方法。
- 2
下面哪个不是子程序的参数传递方法()。 A: 立即数传递 B: 寄存器传递 C: 堆栈传递 D: 存储器传递
- 3
参数传递有哪些形式?寄存器和堆栈传递各有什么优缺点?
- 4
子程序调用时,参数的传递方法有寄存器、存储器、堆栈三种方法 A: 正确 B: 错误