概述
逻辑运算指令
AND | 逻辑与运算 | CF=OF=0,SF、ZF、PF根据结果设置 |
OR | 逻辑或运算 | 同上 |
XOR | 逻辑异或运算,相同为0,不同为1 | 同上 |
NOT | 逻辑非指令,按位取反 | 不影响标志位 |
TEST | 测试与指令,结果不送入目的操作数,但影响标志位 |
移位指令
左移1位,相当于乘2。进位由CF反映;
右移一位,相当于除以2,商在目的操作数中,余数由CF反映。
逻辑移位适用于无符号数的移位处理;算术移位适用于带符号数的移位处理
SHL | 逻辑左移,最高位进入CF,最低为补0 | 按移入的位设置CF,根据移位后结果设置SF、ZF、PF |
SHR | 逻辑右移,最低位进入CF,最高位补0 | 同上 |
SAL | 算术左移,与逻辑左移相同 | 同上 |
SAR | 算术右移,最低为进入CF,最高位不变 | 同上 |
移位指令 操作数,移位数
- 移位数=1,则直接用1表示。若移位前后最高位不同,则OF=1;
- 移位数>1,用CL寄存器值表示,OF不确定
可以利用移位指令实现数据的乘除。
循环移位
ROL | 不带进位循环左移 | CF拍照,不影响循环。不影响SF、ZF、PF、AF;移动1位,最高位不同,OF=1;移动多位,不确定 |
ROR | 不带进位循环右移 | 同上 |
RCL | 带进位循环左移 | 将CF作为最高位,参与循环 |
RCR | 带进位循环右移 | 同上 |
tips:没考虑到的是CF是两个寄存器共用的。
课后作业
提高安全性,防止暴力破解。
最后
以上就是故意橘子为你收集整理的汇编语言笔记——位操作指令的全部内容,希望文章能够帮你解决汇编语言笔记——位操作指令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复