逻辑指令
Tutorial: 汇编基础
Category: C语言
Published: 2026-04-07 13:58:26
Views: 20
Likes: 0
Comments: 0
1. AND、OR、NOT、XOR、TEST——与、或、非、异或等指令
AND AL,BL: 将BL与AL的值进行按位与运算, 结果存放到AL中
OR AL,BL: 将BL与AL的值进行按位或运算, 结果存放到BL中
XOR AL,BL: 将BL与AL的值进行按位异或运算, 结果存放到BL中
NOT AL: 对AL各位取反, 不改变标志寄存器的值
TEST AL,BL:将BL与AL的值进行按位与运算, 不保存运算结果, 只改变标志寄存器。
两个操作数不能同时为内存单元, 不能为段寄存器
除了NOT, 其他指令都会修改标志寄存器
2. SHL、SHR——逻辑移位指令
SHL 寄存器/内存单元,1的功能:
对寄存器/内存单元的数据进行向左移位
最高位移出去的一位放到CF中
最低位缺失的位用0补充
SHR 寄存器/内存单元,1的功能:
对寄存器/内存单元的数据进行向右移位
最低位移出去的一位放到CF中
最高位缺失的位用0补充
如果移动位数大于1, 则需要把移动位数放到CL寄存器中
3. dup
DUP:用来定义重复数据, 如:DB 3 DUP(0,1,2)即表示DB 0,1,2,0,1,2,0,1,2