itgle.com
更多“12、主程序执行完ACALL后返回主程序后,堆栈指针SP的值 。”相关问题
  • 第1题:

    目前堆栈指针SP=3452H,则执行PUSHAX,PUSHBX后,堆栈指针SP=()。

    • A、344EH
    • B、3448H
    • C、3456H
    • D、2454H

    正确答案:A

  • 第2题:

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

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

    正确答案:B

  • 第3题:

    带参数的返回指令用在什么场合?设堆栈顶为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。

  • 第4题:

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

  • 第5题:

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


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

  • 第6题:

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


    正确答案:61H;61H

  • 第7题:

    执行中断处理程序最后一句指令RETI后,()。

    • A、程序返回到ACALL的下一句
    • B、程序返回到LCALL的下一句
    • C、程序返回到主程序开始处
    • D、程序返回到响应中断时一句的下一句

    正确答案:D

  • 第8题:

    主程序中调用子程序后返回主程序,堆栈指针SP的值()。

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

    正确答案:A

  • 第9题:

    主程序执行完ACALL后转到子程序,堆栈指针SP的值()。

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

    正确答案:B

  • 第10题:

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

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

    正确答案:B

  • 第11题:

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

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

    正确答案:D

  • 第12题:

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

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

  • 第13题:

    若堆栈指针SP的初值为1000H,执行POPAX后SP的值为()H。


    正确答案:1002H

  • 第14题:

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

  • 第15题:

    若主程序通过堆栈向子程序传递了3个参数,子程序返回主程序时,在子程序中清除堆栈中3个参数正确的RET指令是()。

    • A、RET 3*1
    • B、RET 3*2
    • C、RET 3*3
    • D、RET 3*4

    正确答案:D

  • 第16题:

    什么叫中断?什么叫断点?系统在执行完中断处理子程序后,为何能回到原断点继续原主程序的执行?


    正确答案: C.PU在执行现程序中,当外设提出服务请求或发生异常情况时,CPU暂时中断现程序的执行,而转去执行中断处理程序,执行完后返回主程序继续执行,这种功能称为中断。
    程序被中断的那个地址称为断点。
    在转入中断处理程序之前,断点被推入堆栈保存,中断处理完毕,断点地址从堆栈弹出送PC。

  • 第17题:

    执行中断服务程序最后一句指令RETI后,()。

    • A、程序返回到ACALL指令的下一句
    • B、程序返回到LCALL指令的下一句
    • C、程序返回到主程序开始处
    • D、程序返回到响应中断时一句的下一句

    正确答案:D

  • 第18题:

    执行指令PUCH CX后堆栈指针SP自动()。

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

    正确答案:C

  • 第19题:

    一中断子程序的最后一句不是RETI而是RET,中断返回后()。

    • A、返回到主程序中ACALL或LCALL的下一句
    • B、返回到主程序中响应中断时一句的下一句
    • C、返回到主程序开始处
    • D、返回到0000H处

    正确答案:B

  • 第20题:

    假定堆栈指针SP的值为37H,执行LCALL指令后,SP的值为()

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

    正确答案:D

  • 第21题:

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

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

    正确答案:A

  • 第22题:

    若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令如下后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?2000H   LCALL  LABEL


    正确答案: 1)SP=SP+1=61H  (61H)=PC的低字节=03H  SP=SP+1=62H (62H)=PC的高字节=20H
    2)PC=3456H
    3)可以
    4)2KB=2048 Byte

  • 第23题:

    返回(RETURN)语句的作用是由子程序返回主程序并继续执行。


    正确答案:正确

  • 第24题:

    填空题
    若堆栈指针SP的初值为1000H,执行POPAX后SP的值为()H。

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