执行下列指令序列后,完成的功能是将(DX,AX)的值【  】。    MOV    CL,04H    SHL    DX,CL    MOV    BL,AH    SHL    AX,CL    SHR    BL,CL    OR    DL,BL

admin2010-04-22  35

问题 执行下列指令序列后,完成的功能是将(DX,AX)的值【  】。
   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位。
转载请注明原文地址:https://kaotiyun.com/show/engZ777K
0

最新回复(0)