A-A+
执行下面的程序段 MOV SP 2000H MOV Ax OFOH MOV SI 1234H
问题详情
执行下面的程序段 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。