XOR指令在两个操作数的对应位之间进行(按位)逻辑异或(XOR)操作,并将结果存在目标操作数中

XOR destination,source

XOR指令操作数组合和大小于AND指令以及OR指令相同。两个操作数的每一对对应位都应用如下操作原则:如果两个位值相同(同为0或同为1),则结果位等于0;否则结果位等于1。下标描述的是布尔运算xy:

y

x

x⊕y

0 0 0
0 1 1
1 0 1
1 1 0

与0异或值不变,与1异或则被触发(求补)。对相同操作数进行两次XOR运算,则结果逆转为其本身。如下表所示,位X与位Y进行了两次异或,结果逆转位X的初始值:

x

y

x⊕y

(x⊕y)⊕y

0 0 0 0
0 1 1 0
1 0 1 1
1 1 0 1

标志位

        XOR运算符总是清除溢出和进位标志位,并根据目标操作数的值来修改符号标志位、零标志位和奇偶标志位。

检查奇偶标志

奇偶检查是在一个二进制数上实现的功能,计算该数中1的个数;如果计算结果为偶数,则说该数是偶校验;如果结果为奇数,则该数为偶校验。x86处理器中,当按位操作或算术操作的目标操作数最低字节为偶校验时,奇偶标志位清0.一个既能检察数的奇偶性,又不会修改其数值的有效方法是,将该数与0进行异或运算:

mov al,10110101b ;5个1,奇校验
xor al,0 ;奇偶标志位清0(奇)
mov al,11001100b;4个1,偶校验
xor al,0; 奇偶标志位置1 (偶)

Visual Studio 用PE=1表示偶校验,PE=0表示偶校验。

汇编语言 XOR 指令相关推荐

  1. 汇编语言中xor指令_汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作(推荐)...

    汇编语言 汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号 ...

  2. 汇编语言中xor指令_汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作...

    XOR 指令在两个操作数的对应位之间进行(按位)逻辑异或(XOR)操作,并将结果存放在目标操作数中: XOR destination, source XOR 指令操作数组合和大小与 AND 指令及 O ...

  3. 汇编语言AND指令:对两个操作数进行逻辑(按位)与操作

    AND 指令在两个操作数的对应位之间进行(按位)逻辑与(AND)操作,并将结果存放在目标操作数中: AND destination,source 下列是被允许的操作数组合,但是立即操作数不能超过 32 ...

  4. 汇编语言常用指令汇总(持续更新)

    汇编语言常用指令汇总(持续更新) 通用数据传送指令 累加器专用指令 有效地址送寄存器指令 标志寄存器传送指令 加法指令 减法指令 乘法指令 除法指令 逻辑指令 移位指令 通用数据传送指令 MOV(Mo ...

  5. leaq c 汇编语言,汇编语言lea指令使用方法解析

    这篇文章主要介绍了汇编语言lea指令使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 lea指令变种(按大小分类): leaw #2个字节 ...

  6. cmd指令大全指令_汇编语言常用指令大全

    MOV 指令为双操作数指令,两个操作数中必须有一个是寄存器. MOV DST , SRC // Byte / Word 执行操作: dst = src 1.目的数可以是通用寄存器, 存储单元和段寄存器 ...

  7. 汇编语言中xor指令_这个汇编代码有什么作用? (TEST,XOR,JNZ)

    TEST和XOR是用于对操作数执行逻辑运算的逻辑指令. 测试指令(比较操作数) TEST destiny, source 它执行操作数的逐位连接,但与AND不同,该指令不会将结果放在目标操作数中,它只 ...

  8. ____x86 xor 指令

    xor 指令: 1>语法: XOR DST, SRC 0 ⊕0 = 0 0 ⊕1 = 1 1 ⊕0 = 1 1 ⊕1 = 0 3>说明:   1.  xor 用于DST特定位取反 2.   ...

  9. linux汇编 lea,汇编语言lea指令使用方法解析

    这篇文章主要介绍了汇编语言lea指令使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 lea指令变种(按大小分类): leaw #2个字节 ...

  10. 汇编语言中xor指令_汇编各类指令用法及含义分析 - 全文

    什么是汇编语言 汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指 ...

最新文章

  1. Asp.net调用RAR压缩 解压文件
  2. MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结...
  3. 山西大学计算机科学与技术全国排名,山西这所大学曾是国内排名前五,如今排名下滑,有点走下坡路了...
  4. C++的decltype()的介绍
  5. nodejs读取本地txt文件并输出到浏览器
  6. java处理中文字符串_Java实现读取文章中重复出现的中文字符串
  7. rpm遇到的坑-与VMP冲突
  8. bootstrap设计登录页面_前端小白如何在10分钟内打造一个爆款Web响应式登录界面?...
  9. Tensorflow学习笔记-第二节程序结构
  10. 3-8 堆栈模拟队列 (25 分)
  11. php如何打开格式_php的文件格式是什么?如何打开php文件[graphic]
  12. EPSON爱普生系列打印机清洗更换墨盒方法
  13. bat计算机清理原理,如何一键清除系统垃圾bat,教您如何清理
  14. spss中有关t检验的详细介绍(包含操作过程和结果分析)
  15. 零基础如何速成插画?插画入门教程分享!
  16. 连锁商超行业使用OA系统实现人、财、物统一管控
  17. form-login属性详解
  18. 二维码及验证码的生成
  19. tp6 openid获取 JWT中间件
  20. JS 函数中的 arguments 类数组对象

热门文章

  1. MySQL grant 语法的详细解析
  2. WinRAR压缩加密的做法
  3. spring-boot集成kafka(包含zookeeper和kafka的下载介绍)
  4. android获取截屏图片大小,【Android】android获取长图截屏(显示之外的也要)
  5. 神器!程序员必备的Linux命令行大全(PDF下载)
  6. tomcat8.0安装及配置
  7. cd40系列芯片_CD40系列74系列芯片
  8. 五颜六色 CSS颜色代码表
  9. 三分钟零代码实现CAD网页Web快速看图和高科技效果展示
  10. 计算信源熵和香农编码C语言,Word版可编辑-信息论与编码课程设计报告统计信源熵与香农编码精心整理.doc...