堆栈有哪些功能?堆栈指示器( SP)的作用是什么?

题目
问答题
堆栈有哪些功能?堆栈指示器( SP)的作用是什么?
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

堆栈操作中都是对栈顶单元进行的,访问堆栈的地址是由堆栈指针SP指定的。在操作过程中,指针 SP不需要用户指定。在下推式堆栈中,写入堆栈的单元地址是(36)。

A.PC

B.指令寄存器

C.(SP)-1

D.(SP)+1


正确答案:D
解析:堆栈是一个专门的存储区,其存取数据的顺序是先进后出,每次操作都是对栈顶单元进行的。栈顶单元的地址,每次进出栈时都要自动修改。栈顶单元的地址放在堆栈指针SP中,写入堆栈时,栈顶单元已经存有数据,再写入新数据时,不能写入原来的SP中,必须写到栈顶单元的下一单元中,在堆栈地址是向下生长的下推式堆栈中,写入数据的堆栈单元的堆栈单元地址是(SP)+1,即进栈操作把SP加1后再把进栈的数据写入新的栈顶单元(SP)/1中。出栈时,把栈顶单元内容弹出,然后(SP)-1。指针SP的修改是指令自动完成的,不需要用户参与。

第2题:

下列关于8086系统堆栈的论述中,正确的是。()

A.堆栈的工作方式是“先进后出”,入栈时SP减小
B.堆栈的工作方式是“先进后出”,入栈时SP增大
C.堆栈的工作方式是“先进先出”,入栈时SP减小
D.堆栈的工作方式是“先进先出”,入栈时SP增大

答案:A
解析:

第3题:

单片机的堆栈指针SP始终是()。

A.指示堆栈底

B.指示堆栈顶

C.指示堆栈地址

D.指示堆栈长度


参考答案:B

第4题:

在存储器堆栈中,若栈底地址为A,SP指针初值为A--1,当堆栈采用从地址小的位置向地址大的位置生成时,弹出操作应是()

  • A、先从堆栈取出数据,然后SP指针减
  • B、先从堆栈取出数据,然后SP指针加
  • C、SP指针先加1,然后从堆栈取出数据
  • D、SP指针先减1,然后从堆栈取出数据

正确答案:A

第5题:

堆栈指示器SP


正确答案: 它是用来指示RAM中堆栈栈顶的地址,每次推入或弹出一数据时,它能自动减1或加1,这个指示器对中断处理及子程序转移特别有用。

第6题:

堆栈寻址方式中,设A为累加寄存器,SP为堆栈指示器,Msp为SP指示器的栈顶单元,如果操作的动作是:(A)→Msp,(SP)-1→SP,那么出栈操作的动作为:()

A.(Msp)→A,(SP)+1→SP

B.(SP)+1→SP,(Msp)→A

C.(SP)-1→SP,(Msp)→A

D.(Msp)→A,(SP)-1→SP


参考答案:B

第7题:

在堆栈寻址中,设A为累加器,SP为堆栈指示器,Msp为SP指示的栈顶单元。如果进栈操作顺序是:(SP)-1→SP,(A)→Msp,那么出栈操作的顺序应是()。

A.(Msp)→A,(SP)+1→SP
B.(SP)+1→SP,(Msp)→A
C.(SP)-1→SP,(Msp)→A
D.(Msp)→A,(SP)-1→SP

答案:A
解析:
堆栈是按特定顺序进行访问的存储区,其访问方式是后进先出,即先存入的数据后读出。对堆栈的操作有入栈和出栈两种,两者的操作完全相反,包括功能和顺序均相反。

第8题:

堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,MSP为SP指示器的栈顶单元,如果操作的动作是:(A)→MSP,(SP)-1→SP,那么出栈的动作应是()。

A、(MSP)→A,(SP)+1→SP

B、(SP)+1→SP,(MSP)→A

C、(SP)-1→SP,(MSP)→A

D、(SP)→A,(SP)-1→SP


正确答案:B

第9题:

什么是堆栈?它的作用是什么?堆栈指针的作用是什么?


正确答案: 堆栈是一个按照后进先出的原则存取数据的部件,它是由栈区和栈指针组成的。堆栈的作用是当主程序调用子程序、子程序调用子程序或中断时转入中断服务程序时,能把断点地址及有关的寄存器、标志位及时正确地保存下来,并能保证逐次正确地返回。堆栈除了有保存数据的栈区外,还有一个堆栈指针SP,它用来指示栈顶的位置。若是“向下生成”的堆栈,随着压入堆栈数据的增加,栈指针SP的值减少。但SP始终指向栈顶。

第10题:

堆栈寻址方式中,设A为累加寄存器,SP为堆栈指示器,Msp为SP指示器的栈顶单元,如果操作的动作是:(A)→Msp,(SP)-1→SP,那么出栈操作的动作为:()

  • A、(Msp)→A,(SP)+1→SP
  • B、(SP)+1→SP,(Msp)→A
  • C、(SP)-1→SP,(Msp)→A
  • D、(Msp)→A,(SP)-1→SP

正确答案:B