首页
社区
课程
招聘
[旧帖] 有关CMP指令的问题 0.00雪花
发表于: 2007-2-13 11:43 4526

[旧帖] 有关CMP指令的问题 0.00雪花

2007-2-13 11:43
4526
问一下,CMP指令是比较指令,实际就是不保存结果的减法指令,那么这条指令会对CF和OF产生影响吗??

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己总结出来了,用CMP指令作比较首先要明确是对有符号数做比较、还是对无符号数做比较、还是对数据做比较(数据可能不是数值而具有其他的意义)
1.对符号数的比较A和B
   如果OF=0,表示数据没有溢出,那么可很明确的判断
             ZF=1时,A=B。
             ZF=0时,A不等于B,这是有两种情况
                     SF=1,那么A<B。
                     SF=0,那么A>B
  如果OF=1,表示数据溢出,可能的情况是A与B异号,有两种情况
            SF=1时,A>B
            SF=0时,A<B
           即,结果为负溢出必为正,结果为正溢出必为负
2.对无符号数的比较A和B
   对无符号数的比较不能用SF标志(254和1比较),SF=1可结果应该是A>B,其实无符号数的比较更简单,只要判断CF就可以了
  ZF=1,CF=0 A=B
  ZF=0,CF=0 A>B
  ZF=0,CF=1 A<B
3.对数据做比较是无法比较大小的,因为它的意义不确定,只能比较是否是相等。
  ZF=0,A不等于B
  ZF=1,A=B
2007-2-13 13:11
0
游客
登录 | 注册 方可回帖
返回
//