执行下面的程序段    MOV    SP,2000H    MOV    Ax,OFOH    MOV    SI,1234H    MOV    DX,5678H    PUSH   SI    POP    DI    SHL    DX,1    

admin2009-02-15  21

问题 执行下面的程序段    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。在本题中,经过PUSH SI后,SP=IFFEH,而又执行PO PDI后,SP=2000H,所以最后执行PUSH DX后,SP=1FFEH,这时SP指向DL所在的偏移地址,而DH的偏移地址是 1FFFH。
转载请注明原文地址:https://kaotiyun.com/show/4grZ777K
0

最新回复(0)