2、逻辑移位指令

此组指令有:逻辑左移SHL(Shift Logical Left)和逻辑右移SHR(Shift Logical Right)。它们的指令格式如下:

SHL/SHR Reg/Mem, CL/Imm

受影响的标志位:CF、OF、PF、SF和ZF(AF无定义)。

逻辑左移/右移指令只有它们的移位方向不同,移位后空出的位都补0。它们的具体功能下图(a)、(b)所示。

(a)、SHL (b)、SHR

例5.11 已知(AH)=12H,(BL)=0A9H,试给出分别用逻辑左移和右移指令移动1位后,寄存器AH和BL的内容。

解:用算术左移和右移指令移动1位后,寄存器AH和BL的结果如下表所示。

操作数的初值

执行的指令

执行后操作数的内容

(AH)=12H

SHL  AH, 1

(AH)=24H

(BL)=0A9H

SHL  BL, 1

(BL)=52H

(AH)=12H

SHR  AH, 1

(AH)=09H

(BL)=0A9H

SHR  BL, 1

(BL)=54H

学习和理解逻辑移位指令的控件。