汇编cmp比较指令详解

22 篇文章 18 订阅
订阅专栏
10 篇文章 2 订阅
订阅专栏

刚刚看到了cmp指令,一开始有点晕。后来上网找了些资料,终于看明白了,为了方便初学者,我就简单写下我的思路吧。高手绕过,谢谢!

cmp(compare)指令进行比较两个操作数的大小

例:cmp oprd1,oprd2

为第一个操作减去第二个操作数,但不影响第两个操作数的值,它影响flag的CF,ZF,OF,AF,PF.

在这里插入图片描述
在这里插入图片描述
我们怎么判断大小呢?

若执行指令后:ZF=1,则说明两个数相等,因为zero为1说明结果为0.

当无符号时:

若CF=1,则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位,所以,此时oprd1<oprd2;

CF=0,则说明了无借位,但此时要注意ZF是否为0,若为0,则说明结果不为0,故此时oprd1>oprd2.

当有符号时:

若SF=0,OF=0 则说明了此时的值为正数,没有溢出,可以直观的看出,oprd1>oprd2;

若SF=1,OF=0 则说明了此时的值为负数,没有溢出,则为oprd1<oprd2;

若SF=0,OF=1 则说明了此时的值为正数,有溢出,可以看出oprd1<oprd2;

若SF=1,OF=1则说明了此时的值为负数,有溢出,可以看出oprd1>oprd2;

最后两个可以作出这种判断的原因是,溢出的本质问题:

两数同为正,相加,值为负,则说明溢出

两数同为负,相加,值为正,则说明溢出

故有,正正得负则溢出,负负得正则溢出

很简单的一条指令,初学者看看,我感觉我写的还挺详细的,哈哈……

补充: 两数相减,同号,则不溢出;两数为异号,结果与减数符号相同,则溢出。

汇编条件转移指令
cgj-horizons
12-18 3716
汇编条件转移指令汇编jmp指令汇编语言jz 汇编语言比较两数大小
汇编语言 CMP指令
꧁༺ʚvv༒catɞ༻꧂的博客
06-22 8万+
CMP(比较)指令执行从目的操作数中减去源操作数的隐含减法操作,并且不修改任何操作数。 指令格式: CMP 目的操作数, 源操作数 标志位 当实际的减法发生时,CMP指令按照计算结果修改溢出、符号、零、进位、辅助进位和奇偶标志位。如果比较的是两个无符号数,则零标志位和进位标志位表示的两个操作数之间的关系如下表所示: CMP结果 ZF CF 目的操作数 < 源操作数 0 1 目的操作数 > 源操作数 0 0 目的操作数 = 源操作数 1 0 如果比较的是两个有符号数,则符号标志位
linux汇编语言cmp,汇编语言cmp指令用法笔记与总结
weixin_35033082的博客
05-12 2337
这篇文章主要介绍了汇编语言cmp指令用法,结合实例形式总结分析了汇编语言cmp指令基本功能、使用方法及操作注意事项,需要的朋友可以参考下本文实例讲述了汇编语言cmp指令用法。分享给大家供大家参考,具体如下:cmp比较指令,cmp的功能是相当于减法指令,只是不保存结果.cmp指令执行后,将对标志寄存器产生影响.其他相关指令通过识别这些被影响的标志寄存器来得知比较结果.cmp指令格式: cmp...
汇编语言cmp、je、jne、jb、jnb、ja、jna 指令
最新发布
天道酬勤
08-24 2229
cmp (compare) 是比较指令cmp 的功能相当于减法指令,只是不保存结果,但会根据结果对标志寄存器进行设置,cmp指令格式:cmp 操作对象1, 操作对象2。je(jump equal),等于则转移; jne(jump not equal),不等于则转移;jb(jump below),小于则转移;jnb(jump not below),不小于则转移;ja(jump above),高于则转移;jna(jump not above),不高于则转移。
汇编语言--cmp指令
后台开发
09-11 2万+
cmp比较指令cmp的功能相当于减法指令,只是不保存结果。cmp指令执行后,将对标志寄存器产生影响。 其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。 cmp指令格式:cmp 操作对象1,操作对象2 例如: 指令cmp ax, ax,做(ax)-(ax)的运算,结果为0,但并不在ax中保存,仅影响flag的相关各位。 指令执行后:zf=1,pf=1,sf=0,cf=0,of=0。 CPU在执行cmp指令的时候,也包含两种含义:进行无符号数运算和进行有符号数运算。 ...
汇编CMP
MyLovelyJay的博客
12-29 875
刚刚看到了cmp指令,一开始有点晕。后来上网找了些资料,终于看明白了,为了方便初学者,我就简单写下我的思路吧。高手绕过,谢谢! cmp(compare)指令进行比较两个操作数的大小 例:cmp oprd1,oprd2 为第一个操作减去第二个操作数, 但不影响第两个操作数的值 它影响flag的CF,ZF,OF,AF,PF 我们怎么判断大小呢? 若执行指令后 ZF=1 这个简单,则说明两
汇编基础--cmp汇编指令
热门推荐
冰峰的专栏
01-27 8万+
<br /> cmp比较指令,cmp的功能相当于减法指令。它不保存结果,只是影响相应的标志位。其他的指令通过识别这些被影响的标志位来得知比较结果。<br /><br />     cmp指令格式:   cmp   操作对象1, 操作对象2<br /><br />     计算 操作对象1 - 操作对象2 但不保存结果,只是根据结果修改相应的标志位。<br /><br />     举例假如此时eax = 0h<br />     那么cmp eax, eax     (eax - eax = 0)<br
ARM 汇编指令:(五)CMP指令
孔祥锐
03-13 5116
CMP指令是计算机指令集中的一种比较指令,用于比较两个操作数的大小关系或相等性,并根据比较结果设置或更新条件码寄存器(或程序状态字)的标志位。指令格式:CMP 第一操作寄存器:参与比较的第一个数(只能是寄存器)第二操作数:参与比较的第二个数(既可以是寄存器,也可以是立即数)执行CMP指令时,计算机会计算操作数1与操作数2之间的差值,并更新CPSR状态寄存中的标志位。常见的标志位包括零标志位(Z),负标志位(N),进位标志位(C)和溢出标志位(V)。
汇编语言cmp指令详解
10-18
cmp指令汇编语言中的一种比较指令,它的作用是比较两个操作数的大小关系,并将比较结果保存在标志寄存器中。cmp指令执行后,会将第一个操作数减去第二个操作数,但不保存结果。如果第一个操作数小于第二个操作数,...
IBM PC汇编语言程序设计教程-CMP指令详解
CMP指令汇编语言中的一个关键指令,用于比较两个数值的大小。在程序设计中,这个指令常常被用来做决策,比如决定是否执行特定的代码段。CMP指令的操作类似于减法运算,但它并不实际改变操作数的值,而是只影响...
常用ARM指令集及汇编(完整版).pdf
03-15
包括数据传送指令MOV和MVN,算术逻辑运算指令如ADD、SUB、RSB、ADC、SBC、RSC、AND、ORR、EOR、BIC,以及用于测试和比较指令CMP、CMN、TST和TEQ。 7. ARM乘法指令: MUL和MLA用于执行乘法操作;UMULL、UMLAL、...
汇编语言 大小排序
11-29
可以实习输入0到65535之间的任意数和输入任意个数进行从小到大排序
CMP详解汇编
独行侠
07-08 2870
CF:是否有进位或者借位 ZF:0标志位,就是结果是否为0 OF:溢出标志位,是否计算机结果溢出了 SF:符号位,0为正,1为负 CMP指令的格式为 CMP op1 op2 用到的标志位有CF,ZF,OF,SF四个,对于两个无符号数的情况,两数相减不可能溢出了,看CF和ZF标志位就可以,如果ZF为1,说明结果是0,那不用说,两数相等了(有符号数也是这样),如果ZF为0,则如果CF为1,表示有借位,op1<op2,否则op1>op2。 对于有符号数,就要看符号标志...
汇编cmp指令
wwwoowww的博客
07-06 1万+
cmp比较指令,cmp的功能相当于减法指令(sub)。它不保存结果,只是影响相应的标志位。其他的指令通过识别这些被影响的标志位来得知比较结果。      cmp指令格式:   cmp   操作对象1, 操作对象2      注意是计算 操作对象2 - 操作对象1,和sub的一样,而不是 操作数1-操作数2(ATT格式), 但不保存结果,只是根据结果修改相应的标志位。 附我自己写的测
[汇编] 关于补码和汇编语言cmp指令
easycome easygoing、
07-21 3309
汇编语言,补码
汇编指令学习与总结CMP,TEST,JE,JNZ,JNE,LEA,MOVE,SUB,INC,DEC,ADD,MUL,DIV,JGE,JB ,CQD
飞奔的屎壳郎
08-08 3万+
所有的汇编都是我零基础逆向微信汇编指令 边玩边学(左边有 机器码,自己可以查 位置) 如有不对的地方请指出 注明:一些指令的英文单词,并非官方,只是为了好记好理解 cmp【compare】指令 进行比较两个操作数的大小 例:cmp oprd1,oprd2 为第一个操作减去第二个操作数,但不影响第两个操作数的值,它影响flag的CF,ZF,OF,AF,PF. 66E9419E 66:833...
x86汇编_CMP指令_笔记_28
Silent_Hunter的博客
04-23 9345
高级语言常用的比较语句: if A > B ... while X > 0 and X < 200 ... if check_for_error(N) = true x86汇编cmp指令比较整数,因为字符也属于整数,所以也可以使用cmp指令。浮点数需要其它指令比较,在《汇编语言-基于x86处理器》第12章介绍。 cmp 目标操作数,源操作数 cmp指令用目标操作数减去源操作数,根据结果来确定溢出、符号、零、进位、辅助进位和奇偶标志位,但不会真的去改变目标操作数,仅改变了标
写文章

热门文章

  • [高等数学]这你不背? 47717
  • 数据结构-树:根节点、子节点、叶子节点是什么? 41237
  • 异步清零和同步置数/清零的区别 39511
  • 数学中R,Z,N,Q都代表什么意思? 36566
  • 一般正态分布如何转化为标准正态分布? 23245

分类专栏

  • golang 14篇
  • 深度学习之路 55篇
  • 联邦学习 2篇
  • [Nginx] 10篇
  • 高等数学题解 49篇
  • Java学习之路 18篇
  • [MyBatisPlus] 13篇
  • [Redis6] 17篇
  • [RobbitMQ] 11篇
  • SpringBoot2 22篇
  • [数据结构-严蔚敏版] 54篇
  • [Swagger2] 6篇
  • mybatis 38篇
  • Spring5 16篇
  • [SpringSecurity] 14篇
  • [Vue]
  • [Ajax]
  • [JavaScript]
  • [HTML5+CSS3]
  • JavaWeb笔记 96篇
  • 计算机组成原理 22篇
  • springMVC 1篇
  • EDA 6篇
  • C++学习之路 42篇
  • 数据结构和算法基础 87篇
  • Maven 1篇
  • Java数据结构 12篇
  • 笔记 31篇
  • [汇编语言] 10篇
  • [Java基础] 107篇
  • [C语言] 3篇
  • [C++11] 36篇
  • C++基础学习 56篇
  • 蓝桥杯真题题解 159篇
  • [PAT乙级] 30篇
  • [设计模式] 17篇
  • [C++STL] 23篇
  • 专题训练 14篇
  • DOS 1篇
  • [剑指offer] 28篇
  • [Qt入门] 5篇
  • 算法(第4版)C++实现 3篇
  • LeetCode 31篇
  • 算法笔记 18篇
  • 蓝桥杯训练 32篇
  • 《C++ Primer》题解 37篇
  • 罗书 24篇
  • AcWing题目 22篇
  • 算法 28篇
  • 紫书 10篇
  • 经典算法题 1篇
  • 洛谷题目 1篇

最新评论

  • UserWarning: Plan failed with a cudnnException: CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR

    岑雨同学: 如果不管这个问题可不可以的,代码也能正常运行,会有什么问题嘛

  • PyTorch中的torch.no_grad()

    CSDN-Ada助手: 推荐 Python入门 技能树:https://edu.csdn.net/skill/python?utm_source=AI_act_python

  • Java 12 switch表达式新特性(->,yield)

    xiaoyuetianxin: 好清晰,一下就懂了

  • [联邦学习]FedProx算法&&工作原理&&步骤

    AlgoRythmMistress: 文章清晰阐述FedProx算法,强调了数据隐私保护和安全性,详细解释了采样和直接平均梯度估算,以及通过修改目标函数加入正则化项的训练方法。语言精准,逻辑清晰,大大对联邦学习的理解深入,让人一目了然,赞!

  • 关于-32768补码的问题

    做而论道_CS: 如果是 16 位二进制数,  其数值范围是:16 个 0 ~ 16 个 1。  相当于十进制:0 ~ 65535。  如果出现进位,就是:2^16 = 65536。 那么,加上 1111 1111 1111 1111 (十进制为 65535),再减去进位,这就是 “-1 ” 了。 所以,+65535,舍弃进位 (65536),就是 “-1 ”。 同理,+65534,舍弃进位 (65536),就是 “-2 ”。    。。。 。。。    +32768,舍弃进位 (65536),就是 “-32768 ”。 这就到达了下限。 如果继续加: +32767,是不会出现进位的。  所以,0 ~ 32767,只能当正数使用。

最新文章

  • [Go]泛型
  • [Go]汇总一下 for 和 for range 中最容易迷惑的几段代码
  • [Go]断言
2024
10月 15篇
09月 2篇
07月 1篇
05月 30篇
04月 24篇
2023年6篇
2022年157篇
2021年1075篇
2020年10篇

目录

目录

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家乐清玻璃钢雕塑厂邳州邹庄镇葛家村玻璃钢雕塑广西玻璃钢人物雕塑厂家供应吉林玻璃钢雕塑哪家便宜沈阳仿铜玻璃钢雕塑厂家福建装饰商场美陈费用扬州玻璃钢蜘蛛侠雕塑巩义商场美陈造景澳门玻璃钢公园雕塑昆明哪里有雕塑玻璃钢修复的西安玻璃钢雕塑定制玻璃钢彩绘大象雕塑描述玻璃钢雕塑在城市景观中的应用陕西玻璃钢艺术小品景观雕塑玻璃钢雕塑断裂怎样修复济南玻璃钢雕塑中心广西玻璃钢几何雕塑吴中区佛像玻璃钢雕塑杭州抽象玻璃钢雕塑定制上海室内商场美陈销售企业多样化的玻璃钢花盆芜湖百货商场美陈莆田玻璃钢海豚雕塑价格玻璃钢雕塑上色各类熊猫玻璃钢雕塑琼海玻璃钢雕塑优选企业德宏玻璃钢花盆双鸭山玻璃钢雕塑厂河西圣诞商场美陈金昌动物玻璃钢雕塑定做香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化