(1)逻辑移位指令。
①SHL——逻辑左移指令。
形式1:SHL 操作数,1。
功能:操作数的内容连同CF的内容一起左移1位,尾部空位补0,CF中的原有的内容丢弃,如图9-7所示。
图9-7 左移指令
相同功能:操作数左移1位,具有乘2的功能。
该指令有如下两种形式:
SHL R,1 ; 把通用寄存器的内容左移1位
SHL M,1 ; 把内存数的内容左移1位
形式2:SHL 操作数,CL。
功能:操作数的内容连同CF的内容一起左移CL中的数的位数。
相同功能:操作数左移N位,具有乘2N的功能。
②SHR——逻辑右移指令。
形式1:SHR 操作数,1。
形式2:SHR 操作数,CL。
功能:操作数的内容连同CF的内容一起右移1位或(CL)位,高位移空的位补0,如图9-8所示。
图9-8 右移指令
相同功能:操作数右移N位,具有无符号数除以2N的功能。
该指令有如下两种形式:
SHR R,I/CL ; 把通用寄存器的内容右移1位或(CL)位
SHR M,