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