niusouti.com

设某用户程序(SS)=0925H,(SP)=30H,(AX)=1234H,(DS)=5678H,如有两条进栈指令: PUSH AX PUSH DS 试列出两条指令执行后,堆栈中各单元变化情况,并给出堆栈指针SP的值。

题目

设某用户程序(SS)=0925H,(SP)=30H,(AX)=1234H,(DS)=5678H,如有两条进栈指令: PUSH AX PUSH DS 试列出两条指令执行后,堆栈中各单元变化情况,并给出堆栈指针SP的值。


相似考题
更多“设某用户程序(SS)=0925H,(SP)=30H,(AX)=1234H,(DS)=5678H,如有两条进栈指令: PUSH AX PUSH DS 试列出两条指令执行后,堆栈中各单元变化情况,并给出堆栈指针SP的值。”相关问题
  • 第1题:

    设SP初值为2000H,执行指令PUSH AX后,SP的值是( )。

    A.1EEEH

    B.2001H

    C.2002H

    D.1EEFH


    正确答案:C
    解析:入栈指令的执行过程是,首先将SP中的值加1,然后把SP中的值当作地址,将 AX中的值送进以SP中的值为地址的RAM单元中。

  • 第2题:

    PC机中,设(SP)=0100H,(SS)=2000H,执行PUSH SP指令之后,栈顶的物理地址是【 】。


    正确答案:200FEH
    200FEH 解析:当执行PUSH操作时,SP的值减2。所以它的物理地址为:2000H*10H+OFEH= 200FEH。

  • 第3题:

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

    A.PC

    B.指令寄存器

    C.(SP)-1

    D.(SP)+1


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

  • 第4题:

    执行指令PUSH-BX后,堆栈指针SP的变化为()

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

    正确答案:B

  • 第5题:

    设堆栈指针(SS)=2000H,(SP)=1000H,在执行PUSH AX指令后,(SS)=()(SP)=()


    正确答案:2000H;0FFEH

  • 第6题:

    设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?  PUSH  30H  PUSH  31H  POP   DPL  POP   DPH  MOV  30H,#00H  MOV  31H,#0FFH 


    正确答案: P.USH  30H       ;(61H)= (30H) = 24H
    P.USH  31H       ; (62H) = (31H) = 10H
    P.OP   DPL       ; (DPL) = (62H) = 10H
    P.OP   DPH       ; (DPH) =(61H)= 24H
    M.OV  30H,#00H   ; (30H) = 00H
    M.OV  31H,#0FFH  ; (31H) = 0FFH
    程序执行后:(61H)= 24H, (62H) = 10H, (30H) = 00H, (31H) = 0FFH,(DPTR) = 2410H

  • 第7题:

    已知(AX)=1234H,(BX)=5678H,顺序执行指令PUSH AX / PUSH BX/ POP AX/POP BX 后,(AX)=()

    • A、1234H
    • B、5678H
    • C、3456H
    • D、1278H

    正确答案:B

  • 第8题:

    设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSHAX后,(SP)=?,再执行指令PUSHBX及POPAX之后,(SP)=?(AX)=?(BX)=?


    正确答案:堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSHAX指令后,(SP)=22FEH;再执行PUSHBX及POPAX后,(SP)=22FEH,(AX)=(BX)=1234H

  • 第9题:

    执行MOV SP,3210H;PUSH AX两条指令后,SP寄存器的值是()

    • A、3211H
    • B、320EH
    • C、320FH
    • D、3212H

    正确答案:B

  • 第10题:

    堆栈指针SP的初值为3000H,AX=2000H,BX=5000H,执行指令: PUSH AX PUSH BX POP AX 后SP=?AX=?


    正确答案: SP=2FFEH
    AX=5000H

  • 第11题:

    假定设置堆栈指针SP的值为36H,在执行指令PUSH20H后,SP的值为()。

    • A、36H
    • B、37H
    • C、38H
    • D、21H

    正确答案:B

  • 第12题:

    问答题
    设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSHAX后,(SP)=?,再执行指令PUSHBX及POPAX之后,(SP)=?(AX)=?(BX)=?

    正确答案: 堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSHAX指令后,(SP)=22FEH;再执行PUSHBX及POPAX后,(SP)=22FEH,(AX)=(BX)=1234H
    解析: 暂无解析

  • 第13题:

    试回答:设执行前SP=2000H,执行后SP=( ) A DW 1234H B DW 5678H : PUSH A PUSH B POP A POP B

    A.1000H

    B.2000H

    C.3000H

    D.4000H


    正确答案:B
    解析:当执行PUSH操作时,SP的值减2,而当执行POP操作时SP的值又会自动加2,所以在本题中,执行两次PUSH,SP=SP-4,而后又执行两次POP指令,所以SP=SP+4。即还是等于2000H。

  • 第14题:

    假设(SS)=3000H,(SP)=0200H,(AX)=0001H,(DX)=0100H,执行下列指令后,(AL)=______。 PUSH AX PUSH DX POP AX POP DX

    A.32H

    B.30H

    C.01H

    D.OOH


    正确答案:D
    解析:堆栈先进后出,指令执行后(AX)=0100H,(DX)=0001H,所以选D:(AL)=00H。

  • 第15题:

    设SP=2000H,AX=3000H,BX=5000H,执行下列片段程序后,问SP=?AX=?BX=? PUSH  AX    ;SP ← SP - 2 = 1FFEH,AX=3000H  PUSH  BX    ;SP ← SP - 2 = 1FFCH,BX=5000H  POP   AX ;SP ← SP + 2 = 1FFEH,AX=5000H


    正确答案:SP = 1FFEH,AX = 5000H,BX = 5000H。

  • 第16题:

    执行PUSH AX指令后,SP减2.


    正确答案:正确

  • 第17题:

    设堆栈指针SP的初值为1000H,AX=2000H,BX=3200H,试问: 1、执行指令PUSH AX后SP=? 2、再执行PUSH BX及POPAX后SP、AX、BX?


    正确答案:1、SP=0FFEH;
    2、SP=0FFEH;AX=3200H;BX=3200H。

  • 第18题:

    如果SP=2000H,则指令PUSH AX,PUSH BX,POP AX,PUSH DX执行后,SP的值为()

    • A、2000H
    • B、1FFEH
    • C、1FFCH
    • D、1996H

    正确答案:C

  • 第19题:

    假设(AX)=1234H,(BX)=5678H,(SP)=1000H,指出执行下面的程序段后,各相关寄存器及堆栈段中的内容。 PUSH AX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=? PUSH BX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=? POP AX ;(AX)=?,(BX)=?,(SP)=?,栈顶字节[SP]=?, 栈顶第二字节[SP+1]=?


    正确答案: (AX)=1234H,(BX)=5678H,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H
    (AX)=1234H,(BX)=5678H,(SP)=0FFCH,栈顶字节[SP]=78H,栈顶第二字节[SP+1]=56H
    (AX)=5678H,(BX)=5678H,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H

  • 第20题:

    设SP=1110H,执行PUSH AX指令后,堆栈指针SP的内容是()

    • A、1112H
    • B、110DH
    • C、1111H
    • D、110EH

    正确答案:D

  • 第21题:

    假设(DS)=3000H,(SS)=3000H,(AX)=2000H,(BX)=1100H,(SI)=2,(DI)=1,(SP)=100H,(31200H)=40H。 请写出下列指令单独执行完后,有关寄存器和存储单元的内容。PUSH AX


    正确答案:(300FEH) =2000H,(SP)=00FEH

  • 第22题:

    如(SP)=60H,执行指令PUSH Acc后,堆栈指针SP的内容为(),累加器A的内容送入()单元。


    正确答案:61H;61H

  • 第23题:

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

    1202H

    B

    1204H

    C

    11FCH

    D

    11FEH


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

  • 第24题:

    问答题
    堆栈指针SP的初值为3000H,AX=2000H,BX=5000H,执行指令: PUSH AX PUSH BX POP AX 后SP=?AX=?

    正确答案: SP=2FFEH
    AX=5000H
    解析: 暂无解析