逻辑运算指令

AND 逻辑与运算 CF=OF=0,SF、ZF、PF根据结果设置
OR 逻辑或运算 同上
XOR 逻辑异或运算,相同为0,不同为1 同上
NOT 逻辑非指令,按位取反 不影响标志位

汇编语言笔记——位操作指令(课后作业未作)
汇编语言笔记——位操作指令(课后作业未作)

移位指令

左移1位,相当于乘2。进位由CF反映;
右移一位,相当于除以2,商在目的操作数中,余数由CF反映。
逻辑移位适用于无符号数的移位处理;算术移位适用于带符号数的移位处理

TEST 测试指令,对两个操作数执行逻辑与运算,结果不送回目的操作数 CF=OF=0,SF、ZF、PF根据结果设置
SHL 逻辑左移,最高位进入CF,最低为补0 按移入的位设置CF,根据移位后结果设置SF、ZF、PF
SHR 逻辑右移,最低位进入CF,最高位补0 同上
SAL 算术左移,与逻辑左移相同 同上
SRL 算术右移,最低为进入CF,最高位不变 同上

移位数=1,则直接用1表示。若移位前后最高位不同,则OF=1;
移位数>1,用CL寄存器值表示,OF不确定。
汇编语言笔记——位操作指令(课后作业未作)

循环移位

ROL 不带进位循环左移 CF拍照,不影响循环。不影响SF、ZF、PF、AF;移动1位,最高位不同,OF=1;移动多为,不确定
ROR 不带进位循环右移 同上
RCL 带进位循环左移 将CF作为最高位,参与循环
RCR 带进位循环右移 同上

汇编语言笔记——位操作指令(课后作业未作)
汇编语言笔记——位操作指令(课后作业未作)
tips:没考虑到的是CF是两个寄存器共用的。

课后作业

汇编语言笔记——位操作指令(课后作业未作)
提高安全性,防止暴力**。

相关文章: