更多“8086/8088CPU执行出栈操作时,栈指针SP的值( )。A.-1B.-2C.+1D.+2 ”相关问题
  • 第1题:

    8086/8088 CPU执行进栈操作时,栈指针SP的值为( )。

    A.-1

    B.-2

    C.+1

    D.+2


    正确答案:B
    解析:(SP)←(SP)-2,所以选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题:

    栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则( )。

    A.入栈和出栈操作都不需要遍历链表
    B.入栈和出栈操作都需要遍历链表
    C.入栈操作需要遍历链表而出栈操作不需要
    D.入栈操作不需要遍历链表而出栈操作需要

    答案:A
    解析:
    本题用单链表作为栈的存储结构,因为栈的操作是先进后出,因此无论是入栈还是出栈,都只对栈顶元素操作,而在单链表中用头指针作为栈顶指针,此时无论是出栈还是入栈,都只需要对头指针指向的栈顶指针操作即可,不需要遍历链表。

  • 第4题:

    堆栈指针SP的内容是()

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

    正确答案:B

  • 第5题:

    从一个栈顶指针为HS的非空链栈中删除结点并不需要返回栈顶结点的值和回收结点时,应执行()操作。


    正确答案:HS=HS->nex

  • 第6题:

    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行x=hs->data;()。


    正确答案:hs=hs->next;

  • 第7题:

    执行入栈指令PUSH时,栈顶指针SP为()

    • A、SP←SP+1
    • B、SP←SP-1
    • C、SP←SP+2
    • D、SP←SP-2

    正确答案:A

  • 第8题:

    因为SP所指栈顶为“实”栈顶,所以在入栈和出栈操作时都要先修改堆栈指针SP,再执行入栈、出栈操作。


    正确答案:错误

  • 第9题:

    堆栈指针SP的内容是()。

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

    正确答案:A

  • 第10题:

    单选题
    SP栈指针内容是1200H,执行两条PUSH指令之后,SP的值为()。
    A

    1202H

    B

    1204H

    C

    11FCH

    D

    11FEH


    正确答案: A
    解析: 暂无解析

  • 第11题:

    填空题
    从一个栈顶指针为HS的非空链栈中删除结点并不需要返回栈顶结点的值和回收结点时,应执行()操作。

    正确答案: HS=HS->nex
    解析: 暂无解析

  • 第12题:

    填空题
    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,找结点的指针域为next,则可执行x=hs一>data;()。

    正确答案: hs===hs一>next
    解析: 暂无解析

  • 第13题:

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

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

    答案:A
    解析:

  • 第14题:

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

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

    答案:A
    解析:
    由入栈操作的动作可知,堆栈指示器SP是向低地址扩充的,其指向的是栈项下一个单元的地址。那么在出栈时,首先将堆栈指示器SP指向栈顶元素,即将SP向高地址扩充一个单元(对应动作为:(SP)+1→SP).然后将该单元的内容存放到通用寄存器A中(对应动作为:(Msp)→A)。

  • 第15题:

    在8086CPU中堆栈操作是字操作还是字节操作?已知SS=1050H,SP=0006H,AX=1234。若执行对AX的压栈操作后,则AX中的数据存放在何处?SP为什么值?


    正确答案: 堆栈操作是字操作。
    对AX压栈后,AX中的数据在10504H,10505H单元中,其中
    (10504H)=34H,(10505H)=12H,SP=0004H。

  • 第16题:

    51单片机中,堆栈存放数据的原则是先进后出,后进先出,数据进栈后,栈顶向下移动,栈指针SP值随之减小。


    正确答案:错误

  • 第17题:

    SP的作用是用来表示()

    • A、栈底指针
    • B、栈顶指针
    • C、下一条执行指令的地址
    • D、段基地址

    正确答案:B

  • 第18题:

    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,找结点的指针域为next,则可执行x=hs一>data;()。


    正确答案:hs===hs一>next;

  • 第19题:

    堆栈指针SP存放栈顶的地址,进栈时自动加1,出栈时自动减1,因此,SP总是指向栈顶


    正确答案:正确

  • 第20题:

    何谓堆栈?为什么要设置堆栈?栈区是怎样确定的?数据进栈、出栈按照何种规律?进栈用什么指令?出栈用什么指令?进栈、出栈时栈指针如何变化?通常栈底所指是什么内容?


    正确答案:微型计算机中的堆栈是读写存储器RAM中的一个特殊的区域,是一组按照“先进后出”的方式工作的、用于暂存信息的存储单元。
    设置堆栈的目的是便于保护断点地址与现场信息。
    用堆栈指针指示堆栈所在的位置。
    数据进栈、出栈“按先进后出”的原则工作。
    进栈用PUSH指令,出栈用POP指令。进栈时指针向地址增加的方向变化,出栈时指针向地址减小的方向变化。
    栈底是最先进栈的信息所在的单元。

  • 第21题:

    判断题
    51单片机中,堆栈存放数据的原则是先进后出,后进先出,数据进栈后,栈顶向下移动,栈指针SP值随之减小。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第22题:

    填空题
    设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行x=hs->data;()。

    正确答案: hs=hs->next
    解析: 暂无解析

  • 第23题:

    判断题
    因为SP所指栈顶为“实”栈顶,所以在入栈和出栈操作时都要先修改堆栈指针SP,再执行入栈、出栈操作。
    A

    B


    正确答案:
    解析: 暂无解析