汇编中的位操作指令

基于IA-32处理器和32位汇编语言

一:逻辑运算指令

1      逻辑与运算AND DEST,SRC     ;将操作数相与,返回给DEST。CF,OF 是0,影响ZF,SF,PF。

2      逻辑或运算 OR   DEST,SRD    ; 将操作数相或,返回给DEST。CF,OF 是0,影响ZF,SF,PF。

3      逻辑非运算 NOT   操作数     ;将操作数各位取反。

4      逻辑异或运算  XOR   DEST,SRC   ; 将操作数相异或,返回给DEST。CF,OF 是0,影响ZF,SF,PF。

5   测试指令 TEST   DEST,SRC    ;将操作数相与,影响状态标志,主要用于给数据转移指令传递状态标志。

二:移位指令

移出的数传给CF。

1      移位指令

SHL   DEST,SRC     ;逻辑左移指令,低位用0补齐

SHR   DEST,SRC    ; 逻辑右移指令,高位用0补齐

SAL   DEST,SRC     ;算术左移指令,低位用0补齐

SAR   DEST,SRC     ; 算术右移指令,高位和原来一样

2      循环移位指令

ROL   DEST,SRC    ;不带进位的循环左移指令,移出的数进行循环

ROR   DEST,SRC    ;不带进位的循环右移指令,移出的数进行循环

RCL   DEST,SRC     ; 带进位的循环左移指令,将CF顶进循环中

RCR   DEST,SRC     ; 带进位的循环右移指令,将CF顶进循环中

以上就是我对于位操作类指令的认识。

 

 

 


你可能感兴趣的:(汇编)