购物 手机

cmp指令对标志位的影响

2019-04-21 16:07:51 来源: 佰佰安全网 5072人阅读
导语:

cmp是比较指令,cmp的功能相当于减法指令,只是不保存结果。那么,cmp指令对标志位的影响呢?佰佰安全网和您一起来看一下!

cmp指令对标志位的影响

CMP指令是由美国斯坦福大学提出的,英文名称是Chip multiprocessors,翻译成中文就是单芯片多处理器,也指多核心其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。那么,cmp指令对标志位的影响呢?下面就让佰佰安全网小编来介绍吧!

汇编test、cmp对标志位的影响

CMP比较指令使用寄存器Rn的值减去operand2的值,根据操作的结果影响新CPSR中相应的条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。CMP指令与SUBS指令的区别在于CMP指令不保存运算结果。在进行两个数据大小判断时,常用CMP指令及相应的条件码来操作。

CMP指令的格式为CMP op1 op2用到的标志位有CF,ZF,OF,SF四个,对于两个无符号数的情况,两数相减不可能溢出了,看CF和ZF标志位就可以,如果ZF为1,说明结果是0,那不用说,两数相等了(有符号数也是这样),如果ZF为0,则如果CF为1,表示有借位,op1<op2,否则op1>op2。

对于有符号数,就要看符号标志位SF和溢出标志位OF了,如果是两个同号的数,两数相减也是不可能溢出的,OF一定为0,此时,如果SF为1,则表示op1<op2,否则op1>op2,如果是两个异号的数相减,不溢出的情况跟上面的一样(OF==0,SF==1?op1<op2:op1>op2)。

如果溢出了,则要分析一下,此时OF=1表示溢出,如果SF也为1,表示结果为负数,假设op1为负数,op2正数,相减的结果为负数,没溢出,假设不成立,op1是整数,op2是负数,所以op1>op2,SF为0的情况可以同样分析可得op1<op2。

以上便是小编为大家介绍的关于cmp指令对标志位的影响的一些内容,希望对大家有所帮助哦!如果想要了解更多关于劳动安全的知识。请您多多关注佰佰安全网吧!


责任编辑:王秀娟

  • 评论
  • 评论
以下网友言论不代表佰佰安全网观点 发表

相关阅读

为更好的为公众说明安全知识的重要性,本站引用了部分来源于网络的图片插图,无任何商业性目的。适用于《信息网络传播权保护条例》第六条“为介绍、评论某一作品或者说明某一问题,在向公众提供的作品中适当引用已经发表的作品”之规定。如果权利人认为受到影响,请与我方联系,我方核实后立即删除。

小编推荐