工程与技术科学

MSC-51属向上增长型堆栈,这种堆栈的操作规则是进栈操作时,先()后写入数据;出栈时,先读出数据()。

题目

MSC-51属向上增长型堆栈,这种堆栈的操作规则是进栈操作时,先()后写入数据;出栈时,先读出数据()。

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

第1题:

在堆栈操作指令中()是读栈指令。

A.MPS

B.MRD

C.MPP

D.MPL


正确答案:B

第2题:

在堆栈寻址中,设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
解析:
堆栈是按特定顺序进行访问的存储区,其访问方式是后进先出,即先存入的数据后读出。对堆栈的操作有入栈和出栈两种,两者的操作完全相反,包括功能和顺序均相反。

第3题:

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

A.寄存器寻址

B.主存寻址

C.堆栈寻址


正确答案:C

第4题:

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


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

第5题:

某堆栈初始为空,符号PUSH和POP分别表示1次进栈操作和1次出栈操作。对于进栈序列a,b,c,d,e,经过PUSH, PUSH, POP, PUSH, POP, PUSH, PUSH时,得到的出栈序列是什么?


正确答案:得到的出栈序列是b,c

第6题:

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

A.PC

B.指令寄存器

C.(SP)-1

D.(SP)+1


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

第7题:

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


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

第8题:

在堆栈操作中,当进栈数据全部弹出后,这时SP应指向()。

A.栈底单元

B.7FH单元

C.栈底单元地址加1

D.栈底单元地址减1


参考答案:A

第9题:

若5个元素的进栈序列是a、b、c、d、e,利用堆栈操作能否得到出栈序列b、c、a、e、d和d、b、a、c、e?对于不能得到的出栈序列,请说明理由。


正确答案:能够得到出栈序列b、c、a、e、d,但不能得到出栈序列d、b、a、c、e。因为若出栈序列以元素d开始,则说明在d之前的进栈元素有a、b和c,三个元素中c是此刻的栈顶元素,b和a不可能先于元素c出栈,因此,不可能得到出栈序列d、b、a、c、e。

第10题:

当8086进行堆栈操作时,CPU会选择()段寄存器,再和()或者()形成20位堆栈地址。


正确答案:堆栈;堆栈指针SP;基址指针BP