堆栈的深度由哪个寄存器确定? 为什么说一个堆栈的深度最大为64KB? 在执行一条入栈或出栈指令时,栈顶地址将如何变化?

题目

堆栈的深度由哪个寄存器确定? 为什么说一个堆栈的深度最大为64KB? 在执行一条入栈或出栈指令时,栈顶地址将如何变化?

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第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题:

零地址的运算类指令在指令格式中不给出操作数地址,参加运算的两个操作数来自()。

A.累加器和寄存器
B.累加器和暂存器
C.堆栈的栈顶和次栈顶单元
D.暂存器和堆栈的栈顶单元

答案:C
解析:
零地址运算类指令的两个操作数均来自于堆栈,分别在栈项和次栈顶单元

第3题:

操作数存在堆栈中,指令隐含约定由堆栈指针SP寄存器提供堆栈栈顶单元地址,进行读出或写入的是()。

A.寄存器寻址

B.主存寻址

C.堆栈寻址


正确答案:C

第4题:

下列关于堆栈的说法,错误的是()

  • A、以“先入后出”为原则
  • B、栈区最高地址单元的前一个单元为栈底
  • C、运行中SP寄存器动态跟踪栈顶位置
  • D、压栈和弹出都是以字节为单位

正确答案:D

第5题:

在存储器堆栈结构中,堆栈指针SP的内容是()。

  • A、栈顶单元地址
  • B、栈底单元地址
  • C、栈顶单元内容
  • D、栈底单元内容

正确答案:A

第6题:

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

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

答案:A
解析:

第7题:

“删除栈顶元素”、“删除栈底元素”、“判断堆栈是否为空”和“将堆栈置为空栈”这4种操作中,()不是堆栈的基本操作。


正确答案:“删除栈底元素”

第8题:

在存储器型堆栈中需要一个【 】,用它来指明栈顶地址的变化。


正确答案:堆栈指示器
堆栈指示器

第9题:

堆栈指针SP的内容是()

  • A、栈顶单元内容
  • B、栈顶单元地址
  • C、栈底单元内容
  • D、栈底单元地址

正确答案:B

第10题:

堆栈指针的作用是()。

  • A、指明栈底的位置
  • B、指明栈顶的位置
  • C、操作数地址
  • D、指令的地址

正确答案:B

更多相关问题