概述
通用数据处理指令——位操作类指令
文章目录
- 通用数据处理指令——位操作类指令
- 一、逻辑运算指令
- 1.逻辑与指令AND
- 2.逻辑或指令OR
- 3.逻辑非指令NOT
- 4.逻辑异或指令XOR
- 5.逻辑运算的应用
- 二、移位指令
- 1.左移位指令SHL / SAL
- 2.逻辑右移指令SHR
- 3.算术右移指令SAR
- 4.不带进位循环左移指令ROL
- 5.不带进位循环右移指令ROR
- 6.带进位循环左移指令RCL
- 7.带进位循环右移指令RCR
一、逻辑运算指令
- 逻辑与指令 AND
- 逻辑或指令 OR
- 逻辑非指令 NOT
- 逻辑异或指令 XOR
- 测试指令 TEST
除NOT指令不影响标志外,其他逻辑指令
►使OF=CF=0
►根据结果按定义影响ZF、SF和PF
1.逻辑与指令AND
- 逻辑与(逻辑乘)运算规则
►两位都是逻辑1,则结果是1;否则,结果是0 - 逻辑与指令AND
►按位进行逻辑与,结果返回目的操作数
AND reg,imm/reg/mem
;reg←reg & imm/reg/mem
AND mem,imm/reg
;mem←mem & imm/reg
2.逻辑或指令OR
- 逻辑或(逻辑加)运算规则
►两位都是逻辑0,则结果是0;否则,结果是1 - 逻辑或指令OR
►按位进行逻辑或,结果返回目的操作数
OR reg,imm/reg/mem
;reg←reg | imm/reg/mem
OR mem,imm/reg
;mem←mem | imm/reg
3.逻辑非指令NOT
- 逻辑非(逻辑反)运算规则:
►原来为0的位变成1,原来为1的位变成0 - 逻辑非指令NOT:
►按位进行逻辑非,结果返回操作数
NOT reg/mem
;reg/mem←~reg/mem
NOT指令不影响状态标志位
4.逻辑异或指令XOR
- 逻辑异或(逻辑半加)运算规则:
►两位不同(相异),则结果是1;否则,结果是0 - 逻辑异或指令XOR:
►按位进行逻辑异或,结果返回目的操作数
XOR reg,imm/reg/mem
;reg←reg imm/reg/mem
XOR mem,imm/reg
;mem←mem imm/reg
5.逻辑运算的应用
-
逻辑运算的屏蔽作用
-
AND复位某些位(同0与),不影响其他(同1与)
and bl,11110110b ;BL中D0和D3清0,其余位不变
-
OR置位某些位(同1或),不影响其他(同0或)
or bl,00001001b ;BL中D0和D3置1,其余位不变
-
XOR求反某些位(同1异或),不影响其他(同0异或)
xor bl,00001001b ;BL中D0和D3求反,其余位不变
-
-
逻辑运算用于大小写转换
大写=小写
AND DFH
小写=大写OR 20H
二、移位指令
- 逻辑左移指令 SHL
- 逻辑右移指令 SHR
- 算术左移指令 SAL
- 算术右移指令 SAR
- 不带进位循环左移指令 ROL
- 不带进位循环右移指令 ROR
- 带进位循环左移指令 RCL
- 带进位循环右移指令 RCR
1.左移位指令SHL / SAL
各位同时左移,最低位补0,最高位进入CF
SHL reg/mem,i8/CL
SAL reg/mem,i8/CL
2.逻辑右移指令SHR
各位同时右移,最高位补0,最低位进入CF
SHR reg/mem,i8/CL
3.算术右移指令SAR
各位同时右移,最高位不变,最低位进入CF
SAR reg/mem,i8/CL
4.不带进位循环左移指令ROL
各位同时左移,最高位循环进入最低位和CF
ROL reg/mem,i8/CL
5.不带进位循环右移指令ROR
各位同时右移,最低位进入最高位和CF
ROR reg/mem,i8/CL
6.带进位循环左移指令RCL
CF作为附加位,各位同时左移,CF进入最低位
RCL reg/mem,i8/CL
7.带进位循环右移指令RCR
CF作为附加位,各位同时右移,最低位进入CF
RCR reg/mem,i8/CL
最后
以上就是搞怪月饼为你收集整理的【汇编语言】通用数据处理指令——位操作类指令通用数据处理指令——位操作类指令的全部内容,希望文章能够帮你解决【汇编语言】通用数据处理指令——位操作类指令通用数据处理指令——位操作类指令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复