位指令

  1. 逻辑指令
  2. 位移指令

1、逻辑指令

1、至少有一个数在寄存器中,NOT 除外,源操作数是立即数除外。

2、NOT 不影响标志位,其他使 CF=0、OF=0,AF 无定义。

3、可用标志位:SF、ZF、PF。

AND DST, SRC 与操作
OR DST, SRC 或操作
NOT OPR 非操作
XOR DST, SRC 异或操作
TEST DST, SRC 与操作但不保存结果

2、位移指令

1、进位 CF 始终是最后被移出的一位,AF 位无定义。

2、溢出 OF 只有移 1 位最高位改变时设置。

3、循环移动只影响 CF 和 OF。

4、其他移动还影响 SF、ZF、PF。

SHL OPR,CNT/CL 逻辑左移
SAL OPR,CNT/CL 算术左移
SHR OPR,CNT/CL 逻辑右移
SAR OPR,CNT/CL 算术右移,同上但最高位保持原值
ROL OPR,CNT/CL 循环左移
ROR OPR,CNT/CL 循环右移
RCL OPR,CNT/CL 循环左移带进位
RCR OPR,CNT/CL 循环右移带进位