工学

问答题子程序采用堆栈传递参数,为什么要特别注意堆栈平衡问题?

题目
问答题
子程序采用堆栈传递参数,为什么要特别注意堆栈平衡问题?
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在MCS-51中,子程序调用时参数的传递方法不包括()。

A、利用累加器或寄存器

B、利用存储器

C、利用控制器

D、利用堆栈


正确答案:C

第2题:

子程序的基本结构包括()等几个部分;子程序的参数传递有寄存器、堆栈、存储器等方法。


正确答案:子程序说明、现场保护及恢复、子程序体、子程序返回

第3题:

将子程序返回地址放在()中时,子程序允许嵌套和递归。

A寄存器

B堆栈

C子程序的结束位置

D子程序的起始位置


正确答案:B

第4题:

若主程序通过堆栈向子程序传递了3个参数,子程序返回主程序时,在子程序中清除堆栈中3个参数正确的RET指令是()。

  • A、RET 3*1
  • B、RET 3*2
  • C、RET 3*3
  • D、RET 3*4

正确答案:D

第5题:

利用堆栈传递子程序参数的方法是固定的,例如寻址堆栈段数据的寄存器是()


正确答案:EBP

第6题:

下面哪个不是子程序的参数传递方法()。

  • A、立即数传递
  • B、寄存器传递
  • C、堆栈传递
  • D、存储器传递

正确答案:A

第7题:

什么叫堆栈?设置堆栈的主要是出于什么需要?堆栈有哪几种基本操作?为什么用户进行堆栈操作时不需要涉及具体的内存地址?


正确答案:堆栈是按后进先出( LIFO)原则存取的一种存储结构。在子程序和中断技术中,都要保存返回地址或断点地址以及现场等信息,这些信息的存入和取出都具有一个共同特点:最后存入的信息最先被取走。堆栈主要是为了适应这种存取方式而引入的。堆栈有两种基本操作:入栈和出栈。由于两种原因,使得进行堆栈操作时不需要涉及具体的内存地址:一是只有入栈和出栈两种基本擦作,入栈指令将源操作数存入栈顶,出栈操作从栈顶把数据取出送给目的操作数;二是设置了堆栈指针SP。规定SP始终指向栈顶,SP的初值可由程序设定。

第8题:

主程序和子程序间参数传送的方法可以用堆栈传递。( )


正确答案:对

第9题:

堆栈是一种特殊的()寻址方式,它采用()原理,按结构不同,分为()堆栈和()堆栈。


正确答案:数据;先进后出;寄存器;存储器

第10题:

主程序通过堆栈向子程序传递了3个参数,子程序调用结束后,在主程序中清除堆栈中3个参数正确的指令是()。

  • A、ADD ESP,3*2
  • B、ADD ESP,3*4
  • C、ADD EBP,3*2
  • D、ADD EBP,3*4

正确答案:D

更多相关问题