一、逻辑运算指令AND/OR/NOT/XOR/TEST(与,或,非,异或,测试)

①与,或,非,异或

这边大家都知道,这里不在重复,举几个例子:

AND AX,1000H        ;AX中的16位数和1000H相与,结果送到AX中。

OR AX,00F0H         ;AX中的值与00f0相或,结果在AX中

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

XOR AL,0FH            ;AL和0fh相异或,结果在AL中

②测试TEST

测试指令执行AND指令操作,把OF,和CF标志清0,修改SF,ZF和PF标志,TEST指令不会送操作结果,而仅仅影响标志

TEST AL,01           ;如AL的最低位为1,则ZF=0,否则ZF=1

注意:

①在程序设计中,用AND指令对指定位清0

②OR指令对指定位置置1

③NOT指令常用来将某个数据取反码,再加上1便得到补码

④XOR常用来取反某位,0变为1,1变为0

⑤TEST指令用来检测指定位是1还是0

二、移位指令SAL/SAR/SHL/SHR/ROL/ROR/RCL/RCR

1)非循环移位指令SAL/SAR/SHL/SHR

算术移位指令SAL,SAR     (A:算术)

逻辑移位指令SHL,SHR     (H:逻辑)

注意:逻辑移位指令执行时,实际上是把操作数看成无符号数进行移位,所以,右移时最高位添0,;算术移位指令执行时,则将操作数看成有符号数进行移位,所以,右移时保持最高位的值不变,这里的最高位就是符号位。

所有移位指令执行时,都会影响标志位CF,OF,PF,SF,ZF.

所有移出的位都会在符号位里面。

2)循环移位指令ROL/ROR/RCL/RCR

循环分小循环和大循环,

小循环就是不带进位的循环:ROL/ROR

大循环就是带进位的循环:RCL/RCR

循环移位指令影响CF和OF标志。
按照移入的位设置进位标志CF
进行1次移位后,如果移位前的操作数最高位与移位后操作数的最高位不同(有变化),则OF=1;否则OF=0。

8086逻辑运算和移位相关推荐

  1. 逻辑运算、移位运算、算术运算,整数和浮点数的加减法

    文章目录 一.逻辑运算 1.1 位模式上的逻辑运算 1.2 模式层次上的逻辑运算 求反 使指定的位复位 对指定的位置位 使指定的位反转 二.移位运算 2.1 逻辑移位运算 逻辑移位 循环移位 2.2 ...

  2. 8086汇编语言寻址方式、基本指令和调试指令

    一.80x86/Pentium 各种寻址方式 1.立即寻址 立即寻址方式下,操作数作为立即数直接包含在指令中,紧跟在操作码之后与其一起 存放在代码段区域.因此,立即数总是和操作码一起被存入 CPU 的 ...

  3. 汇编c语言基础教程编程达人,编程达人 《汇编、C语言基础教程》第一章 进制1.6 逻辑运算(连载)...

    逻辑运算 逻辑运算在我们今后的编程中会经常使用到的. 本节必须掌握的知识点: u 掌握逻辑运算 计算机中所有的数据都是使用二进制保存,但是这些复杂的电路又是如何做运算的呢? 1.6.1[逻辑运算] 逻 ...

  4. python全栈开发学习 01

    本节内容 01 计算机发展史简介 02 计算机的组成 03 计算机的基本原理 01 计算机发展史简介 计算机(computer,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算, ...

  5. 微型计算机出版时间,《微型计算机技术》低价购书_陈慈发 主编_计算机与互联网_孔网...

    本书以80x86微处理器系列微型计算机为背景,以8086为主线,全面系统地讲述了微型计算机的基本组成.工作原理和接口技术.全书共分9章,包括:微型计算机概论.微处理器系统结构.指令系统.汇编语言程序设 ...

  6. 微机期末速通---不挂科版

    寄存器一格放8位一个字节 伪指令和指令的区别在于,每一条指令必须生成机器代码,然后在程序运行期间由CPU来执行其操作:而伪指令是在汇编期间由汇编程序执行的操作命令,除了数据定义及存储器分配伪指令分配存 ...

  7. 微机原理(FPGA设计CPU理解)

    目录 8088内部寄存器 通用寄存器 控制寄存器 段寄存器 内存储器管理 内存地址变换 段寄存器 逻辑段与逻辑地址 堆栈及堆栈段的使用 指令与指令系统 指令的格式 指令中操作数 立即数 寄存器操作数 ...

  8. io端口与ion内存

    木子你妹 博客园 首页 新随笔 联系 管理 订阅 随笔- 109  文章- 12  评论- 8  <摘录>io端口和io内存 linux中的 IO端口映射和IO内存映射 (一)地址的概念 ...

  9. 汇编(二)——微机原理与接口

    8088系列微处理器 8086/8088 区别 8088外部总线宽度8位,8086为16位 拐角都是40个拐角,但是有一个拐角上8088中IO/M‾=0IO/\overline{M}=0IO/M=0表 ...

最新文章

  1. 深入理解python之self
  2. Vue.JS项目中二级路由下刷新浏览器仍呈现当前路由的实现方案
  3. java字节码指令简介(仅了解)
  4. OpenStack基础知识-virtualenv工具详解
  5. 如何利用Shader来渲染游戏中的3D角色
  6. matlab怎么定义矩阵变量_MATLAB小技巧及策略制定实例
  7. 力扣20. 有效的括号(JavaScript)
  8. 深入理解Date对象
  9. 39. 二叉树的深度(C++版本)
  10. 101.对称二叉树(力扣leetcode) 博主可答疑该问题
  11. 资源分享 | 网易云课堂价值 399 的 office 三合一自学教程
  12. 最简单!阿里云服务器采用 LNMP一键安装包 配置 Linux+Nginx+Mysql+PHP
  13. 关于 Nginx 0day 漏洞,需要采取哪些措施?
  14. python爬虫爬取qq音乐巅峰榜热歌歌词,jieba中文分词,词云展示
  15. JavaScript运算规则
  16. 操作系统--6设备管理
  17. 隐藏高德地图左下角LOGO
  18. linux常用命令_Linux常用命令总结
  19. MJ对2008年10月6日大盘预测(节后第一天)
  20. 霍尔电流传感器CH701/CH701W应用于电动汽车模式2充电的装置

热门文章

  1. 网红咖啡店的最后一晚:五道口的罗曼蒂克如何消亡
  2. 使用Session防止表单重复提交
  3. Websocket协议的学习、调研和实现
  4. DDD关键知识点整理汇总
  5. objective-c 2.0的字面量Literals
  6. Httpwatch 工具介绍
  7. 从锤子手机谈产品的逼格
  8. 软件项目经理新手上路2 - 力量从哪里来?
  9. python——selenium框架实现无头浏览器访问 + 规避检测配置
  10. 【完整示例】采用jenkins pipeline实现自动构建并部署至k8s