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

题目

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

  • A、36H
  • B、37H
  • C、38H
  • D、21H
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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


正确答案:6FFEH

第2题:

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

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

正确答案:B

第3题:

执行指令PUCHCX后堆栈指针SP自动()

A.1

B.不操作

C.-2

D.-1


参考答案:C

第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的初值为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。

第6题:

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


正确答案:1002H

第7题:

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


正确答案:2000H;0FFEH

第8题:

执行PUSHAD指令时,堆栈指针的值SP减多少?

A.32

B.16

C.8

D.4


正确答案:A

第9题:

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

第10题:

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

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

正确答案:D