汇编语言中xor指令_汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作(推荐)...
汇编语言
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
XOR 指令在两个操作数的对应位之间进行(按位)逻辑异或(XOR)操作,并将结果存放在目标操作数中:
XOR destination, source
XOR 指令操作数组合和大小与 AND 指令及 OR 指令相同。两个操作数的每一对对应位都应用如下操作原则:如果两个位的值相同(同为 0 或同为 1),则结果位等于 0;否则结果位等于 1。
下表描述的是布尔运算 X㊉y:
x
y
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 处理器中,当按位操作或算术操作的目标操作数最低字节为偶校验时,奇偶标志位置 1。反之,如果操作数为奇校验,则奇偶标志位清 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 表示奇校验。
16 位奇偶性
对 16 位整数来说,可以通过将其高字节和低字节进行异或运算来检测数的奇偶性:
mov ax,64Clh ;0110 0100 1100 0001
xor ah, al ;奇偶标志位置1 (偶)
将每个寄存器中的置 1 位(等于 1 的位)想象为一个 8 位集合中的成员。XOR 指令把两个集合交集中的成员清 0,并形成了其余位的并集。这个并集的奇偶性与整个 16 位整数的奇偶性相同。
那么 32 位数值呢?如果将数值的字节进行编号,从 B₀ 到 B₃ 那么计算奇偶性的表达式为:B₀ XOR B₁ XOR B₂ XOR B₃。
总结
以上所述是小编给大家介绍的汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
时间: 2020-01-12
汇编语言中xor指令_汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作(推荐)...相关推荐
- 汇编语言中xor指令_汇编语言XOR指令:对两个操作数进行逻辑(按位)异或操作...
XOR 指令在两个操作数的对应位之间进行(按位)逻辑异或(XOR)操作,并将结果存放在目标操作数中: XOR destination, source XOR 指令操作数组合和大小与 AND 指令及 O ...
- cmd指令大全指令_汇编语言常用指令大全
MOV 指令为双操作数指令,两个操作数中必须有一个是寄存器. MOV DST , SRC // Byte / Word 执行操作: dst = src 1.目的数可以是通用寄存器, 存储单元和段寄存器 ...
- 汇编语言中xor指令_汇编各类指令用法及含义分析 - 全文
什么是汇编语言 汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指 ...
- 汇编语言中xor指令_这个汇编代码有什么作用? (TEST,XOR,JNZ)
TEST和XOR是用于对操作数执行逻辑运算的逻辑指令. 测试指令(比较操作数) TEST destiny, source 它执行操作数的逐位连接,但与AND不同,该指令不会将结果放在目标操作数中,它只 ...
- 汇编语言中sbb是什么意思_汇编语言里 sub是 什么功能?
汇编语言里 sub是 什么功能?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 汇编语言里 sub是 什么功能? 是减法 ...
- linux汇编语言cmp,汇编语言中cmp指令用法笔记与总结
这篇文章主要介绍了汇编语言中cmp指令用法,结合实例形式总结分析了汇编语言cmp指令基本功能.使用方法及操作注意事项,需要的朋友可以参考下 本文实例讲述了汇编语言中cmp指令用法.分享给大家供大家参考 ...
- 汇编语言中sbb是什么意思_汇编语言里 sub是 什么功能?
展开全部 减法指令,不带借位的减法指令.e69da5e887aa3231313335323631343130323136353331333433626535SUB (subtract) 指令的汇编格式 ...
- c语言loop指令,汇编语言中loop指令的使用
现在在学习汇编,感觉挺有意思的!,我就把学习的东西写下来吧,当作以后可以学习的笔记- loop指令的格式是:loop标号,cpu执行loop指令的时候,要进行两步操作 1:(cx)=(cx)-1 2: ...
- 计算机汇编指令mov和mova,汇编语言中mov和lea指令的区别详解
指令(instruction)是一种语句,它在程序汇编编译时变得可执行.汇编器将指令翻译为机器语言字节,并且在运行时由 CPU 加载和执行. 一条指令有四个组成部分: 标号(可选) 指令助记符(必需) ...
最新文章
- 数据元素和基本类型对应关系
- Git本地仓库与远程仓库关联
- 牛客 13822 Keep In Line(枚举与暴力、Python)
- nginx缓存、压缩配置
- mysql8开启远程访问
- 在SQL Server 2016中使用动态数据屏蔽来保护敏感数据
- TED如何和压力做朋友(第二天)
- Linux的主动实行措施cron和crontab(1)
- 微信公众号添加html,微信公众号如何在文章里添加超链接的方法教程
- 怎么复制黑苹果config配置_只需3步,实现黑苹果USB端口配置
- HTML5仿微信表情框,HTML5高仿微信聊天、微信聊天表情、对话框、编辑器功能
- PxCook的基本使用
- PHP获取图片和视频类型
- 关于Bellman-Ford算法的个人理解
- 提高效率必备,EdrawMax亿图图示教你快速制作图表!
- eclipse 32位换成64位 maven tomcat svn 集成
- 网络工程师面试题(面试必看)(3)
- mysql的安装与初始化
- Windows 10 下载(1)
- vue中使用rem适配方案
热门文章
- matlab 设置坐标轴位置/方向 y轴反向
- 也许这30句话会帮到你
- Reactor And Gev 详解 通俗易懂
- 骨传导耳机推荐,列举几款骨传导主流的耳机分享
- postgresql获取基于当前时间计算的当月第一天,最后一天,下个月的第n天等功能
- python抢票开发——设备预约助手实现
- 庆祝鸿蒙指的是哪个生肖,12月中头彩,苦难转幸福,3生肖,鸿蒙紫气,运走上坡路,想啥就有啥...
- 当台式机能搜索到WiFi,但是连不上WiFi时,如何解决?
- 心跳信号分类---(中)
- 安卓期末大作业Android studio-记单词app(资源链接在文末,含注册登录,含设计报告,含导出app文件及源码导入方法文档)