ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

逻辑运算与移位指令(重点)

2021-11-28 20:01:37  阅读:241  来源: 互联网

标签:右移 count 逻辑 逻辑运算 ZF 左移 指令 移位指令 重点


逻辑运算与位移指令

一,逻辑运算指令

实现与、或、非、异或、测试等逻辑运算。

操作数的搭配关系同算术运算。

除逻辑“非”指令不影响标志外,其他逻辑运算指-令均影响标志SF、ZF和PF,而OF和CF一定被置0,AF不确定。

功能助记符格式功能
逻辑“与”AND d,s用于某些位清0
逻辑"或"OR d,s用于某些位置1
逻辑"异或"XOR d,s用于某些位取反
逻辑"非"NOT d取反
测试TEST d,s(d)︿(s)

或许对测试指令不熟悉,下面着重说一下TEST 指令:

格式:TEST d,s

功能:(d)︿(s)

说明:将目的操作数d 与源操作数s 按位相“与”,只影响标志位不回送结果,常用于测试某些位是0或1。

ZF(零标志位) 用来反映运算结果是否为0,如果运算结果为0,则ZF=1,否则ZF=0例:测试AL的最高位是0/1 ?
TEST AL,80H
若SF=1,则AL最高位为1;
若SF=0,则AL最高位为0;
//SF(符号标志位)来反映运算结果正负的符号位,运算结果为正数时,SF=0,否则SF=1。

若ZF=1,则AL最高位为0;
若ZF=0,则AL最高位为1;
//ZF(零标志位) 用来反映运算结果是否为0,如果运算结果为0,则ZF=1,否则ZF=0

二,位移运算指令

在这里插入图片描述

1,逻辑左移指令 SHL

格式:SHL d,count
功能:逻辑左移
说明:将目的操作数d 左移count 位,右边补0,左边入CF。

逻辑左移1位相当于无符号数乘以2 !

若将BX 乘以 3 该如何实现呢?

MOV AX,BX
SHL BX,1
ADD BX,AX

2,逻辑右移指令 SHR

格式:SHR d,count
功能:逻辑右移
说明:将目的操作数d 右移count 位,左边补0,右边入CF

逻辑右移1位相当于无符号数除以2 !

3、算术左移指令 SAL

格式:SAL d,count
功能:同逻辑左移完全相同

4、算术右移指令SAR

格式:SAR d,count
功能:算术右移
说明:将操作数d的内容右移,左边不变,右边移入CF中

算术右移1位相当于有符号数除以2 !

5、循环左移指令ROL

格式:ROL d,count
功能:循环左移
说明:将操作数d 的内容左移,最高位循环移入最低位,同时移入CF

6、循环右移指令ROR

格式: ROR d,count
功能:循环右移
说明:将操作数d 的内容右移,最低位循环移入最高位,同时移入CF

标签:右移,count,逻辑,逻辑运算,ZF,左移,指令,移位指令,重点
来源: https://blog.csdn.net/qq_46442797/article/details/121596375

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有