什么是堆栈?堆栈有什么作用?上电复位后SP值是多少?程序设计时往往要对堆栈重新赋值,为什么?如果CPU在操作中要使用两组工作寄存器组,SP值至少应该设置为多少?
什么是堆栈?堆栈有什么作用?上电复位后SP值是多少?程序设计时往往要对堆栈重新赋值,为什么?如果CPU在操作中要使用两组工作寄存器组,SP值至少应该设置为多少?
参考答案和解析
(1)堆栈的概念
是若干个存储单元(或寄存器)的有序集合,它顺序地存放一组元素。
数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈顶单元这个“出入口”。
堆栈中的数据采用“先进后出”或“后进先出”的存取工作方式。
(2)堆栈结构在计算机中的作用
具有堆栈结构的机器使用零地址指令,这不仅合指令长度短,指令结构简单,机器硬件简化。
实现程序调用,子程序嵌套调用和递归调用。
对于“中断”技术,堆栈更是不可缺少的,保存“断点”和“现场”。
相关考题:
堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,MSP为SP指示器的栈顶单元,如果操作的动作是:(A)→MSP,(SP)-1→SP,那么出栈的动作应是()。 A、(MSP)→A,(SP)+1→SPB、(SP)+1→SP,(MSP)→AC、(SP)-1→SP,(MSP)→AD、(SP)→A,(SP)-1→SP
堆栈操作中都是对栈顶单元进行的,访问堆栈的地址是由堆栈指针SP指定的。在操作过程中,指针 SP不需要用户指定。在下推式堆栈中,写入堆栈的单元地址是(36)。A.PCB.指令寄存器C.(SP)-1D.(SP)+1
堆栈寻址方式中,设A为累加寄存器,SP为堆栈指示器,Msp为SP指示器的栈顶单元,如果操作的动作是:(A)→Msp,(SP)-1→SP,那么出栈操作的动作为:()A、(Msp)→A,(SP)+1→SPB、(SP)+1→SP,(Msp)→AC、(SP)-1→SP,(Msp)→AD、(Msp)→A,(SP)-1→SP
在8086/8088微机系统中,堆栈与堆栈指针SP的正确位置是()A、堆栈在CPU中,SP也在CPU中B、堆栈在ROM中,SP在CPU中C、堆栈在CPU中,SP在RAM中D、堆栈在RAM中,SP在CPU中
单选题堆栈寻址方式中,设A为累加寄存器,SP为堆栈指示器,Msp为SP指示器的栈顶单元,如果操作的动作是:(A)→Msp,(SP)-1→SP,那么出栈操作的动作为:()A(Msp)→A,(SP)+1→SPB(SP)+1→SP,(Msp)→AC(SP)-1→SP,(Msp)→AD(Msp)→A,(SP)-1→SP
判断题堆栈寻址中,在压入操作时,先将数据压入堆栈后减小SP的值;在弹出操作时,先增加SP的值后将数据弹出堆栈。A对B错