参考答案和解析
正确答案:D
更多“设SP=4AH,执行段内返回指令RET4后,SP的值是()。A、44HB、48HC、4CHD、50H”相关问题
  • 第1题:

    假设某子程序使用的返回指令是RET4,则返回地址为( )。

    A.CALL指令下面第二条指令的地址

    B.(SP+1)和(SP)中存放的地址

    C.SP+5)和(SP+4)中存放的地址

    D.CALL 指令下面第四条指令的地址


    正确答案:B
    解析:返回指令。一种方式是段内返回。先将栈顶的字送入IP,然后SP增2。若带立即数,SP再加立即数(丢弃一些在执行CALL之前入栈的参数)。二是段间返回。栈顶的字送入IP后(SP增2),再将栈顶的字送入CS,SP再增2。若带立即数,则SP再加立即数。

  • 第2题:

    设SP=1FFAH,执行下列指令后,SP寄存器的值是()PUS HBXPUS HAX

    • A、1FF6H
    • B、2002H
    • C、1FFEH<>
    • D、1FFBH

    正确答案:A

  • 第3题:

    设SP=7000H,执行段间直接过程调用CALL指令后,堆栈指针SP=()H。


    正确答案:6FFCH

  • 第4题:

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


    正确答案:2000H;0FFEH

  • 第5题:

    带参数的返回指令用在什么场合?设栈顶地址为4000H,当执行RET 0008H后,SP指针的值是多少?


    正确答案: 当调用程序为子程序提供一定的参数或参数的地址,这些参数是通过堆栈传递给子程序时;在子程序运行结束返回时,这些参数或参数地址已经没有在堆栈中保留的必要。因此,使用带参数的返回指令RET n,以便废弃一些CALL指令执行前入栈的参数。
    设栈顶地址为4000H,当执行RET 0008H后,执行SP ← SP+n的操作,SP=4008H。

  • 第6题:

    设堆栈指针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

  • 第7题:

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

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

    正确答案:D

  • 第8题:

    如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后: POP DPH POP DPL POP SP 则:DPH=(),DPL=(),SP=()


    正确答案:DPH=3CH,DPL=5FH,SP=4FH

  • 第9题:

    设置堆栈指针SP的值为37H,在执行返回指令进入主程序后,SP的值为()。

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

    正确答案:D

  • 第10题:

    单选题
    设SP=3000H,执行下列指令后,SP寄存器的值是()POP BXPUSH AX
    A

    2FFEH

    B

    3000H

    C

    3002H

    D

    3004H


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

  • 第11题:

    问答题
    设堆栈指针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
    解析: 暂无解析

  • 第12题:

    填空题
    设SP=7000H,执行段内直接过程调用CALL指令后,堆栈指针SP=()H。

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

  • 第13题:

    执行下列指令后,SP寄存器的值是( )。 MOV SP,1000H PUSH AX

    A.OFFEH

    B.OFFFH

    C.1001

    D.1002H


    正确答案:A

  • 第14题:

    设SP=7000H,执行段内直接过程调用CALL指令后,堆栈指针SP=()H。


    正确答案:6FFEH

  • 第15题:

    设SP=1200H,执行完CALL DWORD PTR[SI]指令后,SP=()

    • A、1202H
    • B、11FEH
    • C、1204H
    • D、11FCH

    正确答案:D

  • 第16题:

    设堆栈指针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。

  • 第17题:

    带参数的返回指令用在什么场合?设堆栈顶为4000H,当执行RET 0008H后,SP指针的值是多少?


    正确答案:在某些情况下,执行返回指令后,往往需要自动修改堆栈指针,以便废弃一些CALL指令执行前入栈的参数。为了达到这一目的,RET指令可带一个操作数,其指令格式为RET N,其中N为一个偶数。当RET指令完成返回地址出栈后,还进一步执行(SP)←(SP)+N,从而实现了修改堆栈指针目的。
    设堆栈顶为4000H,当执行RET 0008H后,如果是段内返回(SP)←(SP)+2+8=400AH;如果从段间返回,则(SP)←(SP)+4+8=400CH。

  • 第18题:

    带参数的返回指令用在什么场合?设栈顶地址为3000H,当执行RET 0008后,问SP的值是多少?


    正确答案:RET指令用在被调用的过程末尾处。SP的值是3010H。

  • 第19题:

    设SP初值为2000H,执行指令‚PUSHAX‛后,SP的值是()。

    • A、1FFFH
    • B、1998H
    • C、1FFEH
    • D、2002H

    正确答案:C

  • 第20题:

    主程序执行完ACALL指令并返回主程序后,堆栈指针SP的值()。

    • A、不变
    • B、加2
    • C、加4
    • D、减2

    正确答案:A

  • 第21题:

    填空题
    设SP=7000H,执行段间直接过程调用CALL指令后,堆栈指针SP=()H。

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

  • 第22题:

    问答题
    带参数的返回指令用在什么场合?设栈顶地址为3000H,当执行RET 0008后,问SP的值是多少?

    正确答案: RET指令用在被调用的过程末尾处。SP的值是3010H。
    解析: 暂无解析

  • 第23题:

    单选题
    设SP=1FFFH,执行下列指令后,SP寄存器的值是()。 ┇POPF PU SH BX PUSH BX┇
    A

    2000H

    B

    2002H

    C

    1FFCH

    D

    1FFEH


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