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

题目

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

参考答案和解析
正确答案: (AX)=1234H,(BX)=5678H,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H
(AX)=1234H,(BX)=5678H,(SP)=0FFCH,栈顶字节[SP]=78H,栈顶第二字节[SP+1]=56H
(AX)=5678H,(BX)=5678H,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

执行入栈指令PUSH时,栈顶指针SP为:()。

A.SP←SP+1

B.SP←SP-1

C.SP←SP+2

D.SP←SP-2


正确答案:A

第2题:

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


正确答案:2002H
2002H

第3题:

若栈顶指针SP的值为100H,当执行完指令CALL AX后,SP的值为?()

A、00FCH

B、0098H

C、00FEH

D、0102H


参考答案C

第4题:

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

第5题:

在8086CPU中堆栈操作是字操作还是字节操作?已知SS=1050H,SP=0006H,AX=1234。若执行对AX的压栈操作后,则AX中的数据存放在何处?SP为什么值?


正确答案: 堆栈操作是字操作。
对AX压栈后,AX中的数据在10504H,10505H单元中,其中
(10504H)=34H,(10505H)=12H,SP=0004H。

第6题:

执行出栈指令POP时,栈顶指针SP为:()。

A.SP←SP–1

B.SP←SP+1

C.SP←SP–2

D.SP←SP+2


正确答案:A

第7题:

设(SP)=100H,(AX)=OFFFFHSTCPUSH.AXADC.AX,0PUSH.AXPOP.BX上述程序段执行后,(BX)=(),(SP)=()


正确答案: BX=0
SP=FEH

第8题:

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


参考答案:30FFEH

第9题:

设SP=2000H,AX=3000H,BX=5000H,执行下列片段程序后,问SP=?AX=?BX=? PUSH  AX    ;SP ← SP - 2 = 1FFEH,AX=3000H  PUSH  BX    ;SP ← SP - 2 = 1FFCH,BX=5000H  POP   AX ;SP ← SP + 2 = 1FFEH,AX=5000H


正确答案:SP = 1FFEH,AX = 5000H,BX = 5000H。

第10题:

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


正确答案: 当前栈顶的地址:2010H*16+FE00H=2FF00H;
执行PUSHBX指令后,堆栈地址指针SP减2,则栈顶地址为:2FEEDH;
栈顶2个字节的内容为:57H、34H。