A-A+

交换寄存器SI DI的内容 正确的程序段是()A.PUSH SI PUSH DI POP S

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

问题详情

交换寄存器SI,DI的内容,正确的程序段是()
A.PUSH SI PUSH DI POP SI POP DI
B.PUSH SI PUSH DI, POP SI,DI
C.MOV AX,SI MOV SI,DI MOV DI,AX
D.MOVAX,SI MOV BX,DI XCHG BX,AX请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:在堆栈中,无论是压人还是弹出,都必须以字为单位进行,即一次压人必须压入堆栈一个字,弹出时,也必须从堆栈中取出一个字。所以选项B是错误的;在串操作指令中,SI用作源变址寄存器,DI用作目的地址寄存器,所以选项C是错误的;选项D交换的是AX寄存器和BX寄存器里的内容,不符合题意;只有选项A是正确的,它依次把SI和DI的值推进栈中,然后把DI的值弹出来给SI,把SI的值弹出来给DI,即完成了SI和DI内容的交换。

考点:寄存器,程序