首页 >> 要闻 > 教育要闻 >

汇编cmp指令(cmp指令)

2022-08-25 22:33:30 来源: 用户: 

您好,今天小花就为大家解答关于汇编cmp指令,cmp指令相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、cmp是比较指令,cmp的功能相当于减法指令(sub)。

2、它不保存结果,只是影响相应的标志位。

3、其他的指令通过识别这些被影响的标志位来得知比较结果。

4、cmp指令格式:   cmp   操作对象1, 操作对象2注意是计算 操作对象2 - 操作对象1,和sub的一样,而不是 操作数1-操作数2(ATT格式), 但不保存结果,只是根据结果修改相应的标志位。

5、示例代码:#include int main(){int eax = 100;int ebx = 200;int output = -100;asm volatile("movl %1,%%eax;""movl %2,%%ebx;""cmpl %%eax,%%ebx;" //用的是cmpl比较指令"sets %%al;" //负数时设置"movzbl %%al,%%eax;""movl %%eax,%0": "=m"(output): "r"(eax), "r"(ebx): "eax");printf("%d ", output);return 0;}最终的输出是1扩展资料cmp(compare)指令进行比较两个操作数的大小例:cmpoprd1,oprd2为第一个操作减去第二个操作数,但不影响第两个操作数的值它影响flag的CF,ZF,OF,AF,PF若执行指令后ZF=1 这个简单,则说明两个数相等,因为zero为1说明结果为0当无符号时:CF=1 则说明了有进位或借位,cmp是进行的减操作,故可以看出为借位,所以,此时oprd1oprd2参考资料:百度百科 CMP指令。

本文就讲到这里,希望大家会喜欢。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章