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