4-6逻辑运算与移位指令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

逻辑运算指令

逻辑运算指令

⏹AND(与)

⏹OR(或)

⏹NOT(非)

⏹XOR(异或)

⏹TEST(测试)

逻辑运算指令

AND AL,0FH;AL中内容和0FH相与,结果在AL

OR AX,00F0H;AX和00F0H相或,结果在AX

XOR AX,AX;AX内容本身进行异或,结果AX清零

NOT AL;AL中内容求反码,结果AL中

TEST和AND执行同样操作,但TEST指令不送回操作结果,而仅仅影响标志位。如:

TEST AX,8000H;如AX的最高位为1,则ZF=0,否则ZF=1

移位指令

⏹非循环移位

☐算术左移指令SAL

☐逻辑左移指令SHL

☐算术右移指令SAR

☐逻辑右移指令SHR ⏹循环移位

☐循环左移指令ROL

☐循环右移指令ROR

☐带进位循环左移指令RCL

☐带进位循环右移指令RCR

非循环移位指令 非循环移位

(a)算术左移指令SAL

(b)逻辑左移指令SHL

(c)算术右移指令SAR

(d)逻辑右移指令SHR

算术移位是对有符号数进行移位,在移位过程中必须保持符号不变;

逻辑移位是对无符号数进行移位,总是用0来填补已空出的位;

循环移位指令 循环移位

(a)循环左移指令ROL

(b)循环右移指令ROR

(c)带进位循环左移指令RCL

(d)带进位循环右移指令RCR

循环移位是将操作数

首尾相接进行移位

移位指令示例

目标操作数允许是8/16位的通用寄存器或内存单元若只移1位,则指令中直接写1;

若移多位,需要先将移位次数送到CL寄存器中。SAL BX,1;BX的内容算术左移1位

ROR AX,1;AX的内容循环右移1位

MOV CL,6;先指定移位位数

SAR DX,CL;DX的内容算术右移6位

RCL AX,CL;AX的内容连同CF循环左移6位

相关文档
最新文档