交换寄存器SI,DI的内容,正确的程序段是(   )

admin2010-04-22  32

问题 交换寄存器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内容的交换。
转载请注明原文地址:https://jikaoti.com/ti/o827FFFM
0

最新回复(0)