預計閱讀時間:30秒。
本文核心:NEG命令就是取反+1 ,另一種方法,用0減去這個數(shù)的二進制。
在學習匯編指令的過程中,碰到好多的問題,例如剛剛碰到一道小小的問題(入門級)
知識點:
在匯編語言中,正數(shù)的補碼=他本身,正數(shù)的反碼=他本身,負數(shù)的補碼=取反后+1,負數(shù)的反碼=按位取反(0 變 1)。在匯編語言中,NEG命令代表取補運算,只有一個操作數(shù),可以理解為,對操作數(shù)去補并把結果放在操作數(shù)中。疑 點: 書本上明明寫著正數(shù)的補碼=他本身,可為什么執(zhí)行以下命令后結果為 F0 呢
例:
MOV DH,10 //把10放到DX的高八位NEG DH //對DH進行取補運算把結果放進DH中結果為:DH = F0如果按書上的方法來算的話,最后結果應該依然是10H,因為10H是一個正數(shù)。
總結:在16位匯編語言中,NEG命令無論你是否為正負數(shù),都會按照取反+1或用0減去這個數(shù)的二進制的辦法去計算
新聞熱點
疑難解答
圖片精選