Suppose %eax contains -20 and %ecx contains -30.
cmpl %eax, %ecx
进行此比较时,-30 - ( - 20)= -10如此签名标志被设置。虽然你什么时候将负数解释为无符号/有符号?在IA32中进行cmpl操作时,如何判断某个数字是否未签名或签名?
Suppose %eax contains -10 and %ecx contains 20.
cmpl %eax, %ecx
在这个例子中,-10被解释为一个大的无符号数并且进位标志被设置。为什么不把它解释为20 - ( - 10)= 30并且没有设置标志?
你必须看看'cmpl'后通常使用条件分支的指令。 – starblue