移位指令

1. 算术左移或逻辑左移指令SAL/SHL

SAL OPRD,m

SHL OPRD,m

SAL/SHL执行相同的操作,把操作数OPRD左移m,每移动一位,右边用0补足一位,移出的最高位进入标志位CF

每左移一次,相当于原数X2



2. 算术右移指令SAR

SAR OPRD,m

使操作数右移m位,同时每移一位,左边的符号位保持不变,移出的最低位进入标志位CF

算术右移一位相当于除以2



3. 逻辑右移指令SHR

SHR OPRD,m

使操作数右移m位,同时每移一位,左边用0补足,移出的最低位进入标志位CF



4. 循环移位指令

(1)循环左移ROL

ROL OPRD,m

(2)循环右移ROR

ROR OPRD,m

(3)带进位的循环左移RCL

RCL OPRD,m

(4)带进位的循环右移RCR

RCR OPRD,m

以上指令中:m为移位次数,为1或CL。

这些指令只影响CF和OF

如果是8位的操作数,对于不带进位的,移8位后能复原,带进位的,移动9位后能复原。

你可能感兴趣的:(指令)