A-A+

执行下面的程序段 MOV SP 2000H MOV Ax OFOH MOV SI 1234H

2022-08-06 02:50:02 问答库 阅读 175 次

问题详情

执行下面的程序段 MOV SP,2000H MOV Ax,OFOH MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT 之后,DH内容所在程序段的偏移地址是()
A.1FFFH
B.1FFEH
C.1FFDH
D.1FFCH请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:一个字在寄存器中存储时低字节在前,高字节在后;在堆栈中存储时,高字节在高地址,低字节在低地址,即高字节在下,低字节在上;每次入栈操作SP-2,每次出栈操作SP+2。在本题中,经过PUSHSI后,SP=IFFEH,而又执行POPDI后,SP=2000H,所以最后执行PUSHDX后,SP=1FFEH,这时SP指向DL所在的偏移地址,而DH的偏移地址是1FFFH。

考点:程序