微机原理

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

题目

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

参考答案和解析
正确答案: 当调用程序为子程序提供一定的参数或参数的地址,这些参数是通过堆栈传递给子程序时;在子程序运行结束返回时,这些参数或参数地址已经没有在堆栈中保留的必要。因此,使用带参数的返回指令RET n,以便废弃一些CALL指令执行前入栈的参数。
设栈顶地址为4000H,当执行RET 0008H后,执行SP ← SP+n的操作,SP=4008H。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

假设 (SS)=3000H,(SP)=1000H, 执行PUSH AX 指令后,栈顶的物理地址是()


参考答案:30FFEH

第2题:

PC中,设(SP)=0202H,(SS)=2000H,执行PUSHSP指令后,栈顶的物理地址为( )。

A.0200H

B.20102H

C.20200H

D.0102H


正确答案:C

第3题:

设链栈结点结构为(data,next),top为栈顶指针,当执行入栈操作时需执行下列语句:p=newnode;p->data=x;p->next=top;();


参考答案:top=p

第4题:

设SS=2000H,SP=0100H,执行PUSHBP指令后,栈顶的物理地址是______。

A.2000H

B.00FEH

C.20FEH

D.1000H


正确答案:C
解析:PUSH执行入栈操作,SP=0100-2=00FEH,其物理地址可由SS+SP计算得出;2000H+00FEH=20FEH。因此正确答案为C。

第5题:

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


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

第6题:

PC中,设(SP)=0202H,(SS)=2000H,执行PUSH SP指令后,栈顶的物理地址为 ( )。

A.0200H

B.20102H

C.20200H

D.0102H


正确答案:C

第7题:

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


正确答案:200FEH
200FEH 解析:对于堆栈段数据,PA=(SS)左移4位+(SP):PUSH将数据压入堆栈,同时 SP-2 送SP,所以物理地址=20000H+0100H-2H。

第8题:

设SP=000CH, SS=00A8H,在执行POP AX指令后得到的栈顶的物理地址为()。

A.000B6H

B.00A8EH

C.000B2H

D.00A8AH


参考答案:B

第9题:

设(SP)=0100H, (SS)=2000H,执行PUSH BP指令后,栈顶的物理地址是( )。

A.00FEH

B.20102H

C.20FEH

D.0102H


正确答案:C
解析:PUSH指令是入栈操作,因此SP=0100-2=00FEH,其物理地址可由SS+SP计算得出:2000H+00FEH=20FEH。

第10题:

程序运行中,IP始终指向()

  • A、栈区栈顶的位置
  • B、下一条所要执行的指令的偏移地址
  • C、当前正执行的指令的地址
  • D、程序中的任何位置

正确答案:B

更多相关问题