【发布时间】:2017-08-11 09:04:38
【问题描述】:
CF 标志在我们比较两个数字并且一个数字小于另一个数字时设置:
mov eax,1
cmp eax,2
jb truWay
二进制形式:
1=00000001
2=00000010=11111101+1(add. code)=11111110и
00000001+11111110=11111111(no carry)
为什么指令cmp eax,2 设置CF 标志?没有进位,否则我错了。
【问题讨论】:
-
cmp相减,1-2需要进位
-
你能用二进制形式给我看吗?
-
因为 2 大于 1,所以你不能不借用减去...不需要转换成二进制来看到这个 ;-)
-
你应该真正阅读 CMP 的指令集参考,以便理解它的语义。