执行下列指令序列后,完成的功能是将(DX,AX)的值()。
执行下列指令序列后,完成的功能是将(DX,AX)的值()。
MOVCL,04H
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
正确答案:左移4位
答案解析:在这段程序中,CL的值为04H,SHLDX,CL是把DX左移4位,然后把AX的高字节AH的值送给BL,在执行SHLAX,CL也把AX左移4位,然后把BL右移4位后再和DL做OR操作,ORDL,BL其实这个指令,在这没起到任何作用,没改变DL的值,因为此时DL的后四位是0,而BL的前4位是0,它们做OR操作,不改变任何值。所以总体来说,这段程序的作用是将(DX,AX)的值左移4位。