7、一条双字长直接寻址的子程序调用指令,其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设PC当前值为2000H,SP的内容为0100H,栈顶内容为2746H,存储器按字节变址,而且进栈操作是先执行(SP)-△→SP,然后存入数据,则CALL指令被执行后,PC、SP及栈顶内容为___。A.5000H,00FEH,2004HB.2000H,00FEH,2004HC.5000H,0100H,2004HD.5000H,00FEH,2476H

7、一条双字长直接寻址的子程序调用指令,其第一个字为操作码和寻址特征,第二个字为地址码5000H。假设PC当前值为2000H,SP的内容为0100H,栈顶内容为2746H,存储器按字节变址,而且进栈操作是先执行(SP)-△→SP,然后存入数据,则CALL指令被执行后,PC、SP及栈顶内容为___。

A.5000H,00FEH,2004H

B.2000H,00FEH,2004H

C.5000H,0100H,2004H

D.5000H,00FEH,2476H


参考答案和解析
(1)CALL指令被读取前PC、SP和栈顶内容由题目给出即PC=1000HSP=0100H栈顶内容为1234H。 (2)CALL指令被执行后程序断点1002H进栈此时SP=00FFH栈顶内容为1002HPC被更新为子程序入口地址5000H。 (3)子程序返回后程序断点出栈PC=1002 HSP被修改为0100H栈顶内容为1234H。 (1)CALL指令被读取前,PC、SP和栈顶内容由题目给出,即PC=1000H,SP=0100H,栈顶内容为1234H。(2)CALL指令被执行后,程序断点1002H进栈,此时SP=00FFH,栈顶内容为1002H,PC被更新为子程序入口地址5000H。(3)子程序返回后,程序断点出栈,PC=1002H,SP被修改为0100H,栈顶内容为1234H。

相关考题:

若栈顶指针SP的值为100H,当执行完指令CALL AX后,SP的值为?()A、00FCHB、0098HC、00FEHD、0102H

执行入栈指令PUSH时,栈顶指针SP为:()。 A.SP←SP+1B.SP←SP-1C.SP←SP+2D.SP←SP-2

堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,MSP为SP指示器的栈顶单元,如果操作的动作是:(A)→MSP,(SP)-1→SP,那么出栈的动作应是()。 A、(MSP)→A,(SP)+1→SPB、(SP)+1→SP,(MSP)→AC、(SP)-1→SP,(MSP)→AD、(SP)→A,(SP)-1→SP

PC中,设(SP)=0202H,(SS)=2000H,执行PUSH SP指令后,栈顶的物理地址为 ( )。A.0200HB.20102HC.20200HD.0102H

PC中,设(SP)=0202H,(SS)=2000H,执行PUSHSP指令后,栈顶的物理地址为( )。A.0200HB.20102HC.20200HD.0102H

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

假设(SP)=0100H,(SS)=200H,执行POP AX指令后,栈顶的物理地址是【 】。

假设(SP)=1000H,(BX)=2000H,执行CALL BX指令后,SP中的内容为A.1000HB.OFFEHC.2000HD.1FFEH

假设(SP)=0100H,(SS)=2000H,执行PUSH BP指令后,栈顶的物理地址是( )。A.2000HB.00FEHC.20FEHD.xx

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

设SS=2000H,SP=0100H,执行PUSHBP指令后,栈顶的物理地址是______。A.2000HB.00FEHC.20FEHD.1000H

堆栈寻址方式中,设A为累加寄存器,SP为堆栈指示器,Msp为SP指示器的栈顶单元,如果操作的动作是:(A)→Msp,(SP)-1→SP,那么出栈操作的动作为:() A.(Msp)A,(SP)+1SPB.(SP)+1SP,(Msp)AC.(SP)-1SP,(Msp)AD.(Msp)A,(SP)-1SP

在堆栈寻址中,设A为累加器,SP为堆栈指示器,Msp为SP指示的栈顶单元。如果进栈操作顺序是:(SP)-1→SP,(A)→Msp,那么出栈操作的顺序应是()。A.(Msp)→A,(SP)+1→SPB.(SP)+1→SP,(Msp)→AC.(SP)-1→SP,(Msp)→AD.(Msp)→A,(SP)-1→SP

在向下生成的堆栈中,如果入栈指令PUSHX的操作定义为:SP←(SP)+1,M(SP)←M(X),则出栈指令POPX应定义为()。A.SP←(SP)-1,M(X)←M(SP)B.SP←(SP)+1,M(X)←M(SP)C.M(X)←M(SP),SP←(SP)-1D.M(X)←M(SP),SP←(SP)+1

堆栈寻址方式中,设A为某通用寄存器,SP为堆栈指示器,Msp为SP指示器的栈项单元,如果入栈操作的动作是(A)→Msp,(SP)-1→SP,那么出栈操作的动作应为()。A.(SP)+1→SP,(Msp)→AB.(Msp)→A,(SP)+1→SPC.(SP)→1→SP,(Msp)→AD.(Msp)→A,(SP)-1→SP

设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSHBX指令后,栈顶地址和栈顶2个字节的内容分别是什么?

堆栈寻址方式中,设A为累加寄存器,SP为堆栈指示器,Msp为SP指示器的栈顶单元,如果操作的动作是:(A)→Msp,(SP)-1→SP,那么出栈操作的动作为:()A、(Msp)→A,(SP)+1→SPB、(SP)+1→SP,(Msp)→AC、(SP)-1→SP,(Msp)→AD、(Msp)→A,(SP)-1→SP

设SP=0100H,SS=2000H,执行指令PUSHBP指令后,栈顶(即SP所指向的单元)物理地址是:()A、00FEHB、20102HC、200FEHD、0102H

假设(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]=?

若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址,若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?

在存储器堆栈结构中,在栈底为最大地址的堆栈操作中压栈是指()。A、先使SP减1,再将数据存入SP所指单元B、先使SP加1,再将数据存入SP所指单元C、先将数据存入SP所指单元,再将SP减1D、先将数据存入SP所指单元,再将SP加1

一个堆栈从3000H:0000H开始,最后一个字的偏移地址为0200H,SP内容为0052H,问:栈顶逻辑地址和物理地址、栈底逻辑地址和物理地址、SS的内容是多少?存入1234H后,SP内容是多少?堆栈内容如何变化?

执行入栈指令PUSH时,栈顶指针SP为()A、SP←SP+1B、SP←SP-1C、SP←SP+2D、SP←SP-2

因为SP所指栈顶为“实”栈顶,所以在入栈和出栈操作时都要先修改堆栈指针SP,再执行入栈、出栈操作。

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

单选题堆栈寻址方式中,设A为累加寄存器,SP为堆栈指示器,Msp为SP指示器的栈顶单元,如果操作的动作是:(A)→Msp,(SP)-1→SP,那么出栈操作的动作为:()A(Msp)→A,(SP)+1→SPB(SP)+1→SP,(Msp)→AC(SP)-1→SP,(Msp)→AD(Msp)→A,(SP)-1→SP

判断题因为SP所指栈顶为“实”栈顶,所以在入栈和出栈操作时都要先修改堆栈指针SP,再执行入栈、出栈操作。A对B错

问答题设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSHBX指令后,栈顶地址和栈顶2个字节的内容分别是什么?