学习笔记——从零开始速通汇编(四):逻辑运算与移位操作类指令系统
导航
✨学习笔记——从零开始速通汇编(一):寄存器 | JinYu🐟
🎉学习笔记——从零开始速通汇编(二):汇编程序语句结构&寻址方式 | JinYu🐟
🎊学习笔记——从零开始速通汇编(三):数据传送类&算术运算类指令系统 | JinYu🐟
🎃学习笔记——从零开始速通汇编(四):逻辑运算与移位操作类指令系统 | JinYu🐟
🎄学习笔记——从零开始速通汇编(五):程序控制类&串操作类指令系统 | JinYu🐟
学习笔记——从零开始速通汇编(四):逻辑运算与移位操作类指令系统
逻辑运算与移位操作类指令
逻辑运算类指令
逻辑运算是按位进行的,位与位之间不存在任何关联
AND指令(与ADD指令要求一致)
指令格式:AND DST,SRC
指令功能:DST←(DST)∧(SRC)
ADD指令是逻辑”与“运算指令
OR指令
指令格式:OR DST,SRC
指令功能:DST←(DST)∨(SRC)
OR指令是逻辑”或“运算指令
OR指令在使用上的要求以及对条件标志的影响与AND指令完全相同
XOR指令
指令格式:XOR DST,SRC
指令功能:DST←(DST)⊕(SRC)
XOR指令是逻辑”异或“运算指令
XOR指令在使用上的要求以及对条件标志的影响与AND指令完全相同
NOT指令
指令格式:NOT OPR
指令功能:OPR←(OPR)
NOT是逻辑”非“运算指令
注意:
- OPR不能为立即数或段寄存器
- OPR必须有明确的数据类型
- NOT指令不影响任何条件标志
TEST指令
指令格式:TEST DST,SRC
指令功能:(DST)∧(SRC)
TEST指令执行逻辑”与“运算,但不保存运算结果,只像AND指令那样影响有关条件标志
TEST指令称为测试指令,主要用于测试数据中某位是0还是1
移位操作类指令
移位操作用于对一个数据的各位做向左或向右的移动
移位操作可分为逻辑移位、算数移位和循环移位三类
各类移位指令的格式如下:
DST是被移位操作数,SRC是移位的次数
注意:
- DST不能是立即数和段寄存器
- 必须有明确的类型
- 当CNT=1时可以直接写1,否则必须用CL表示移位次数
其中,DST是被移位的操作数,CNT是移位的次数
评论