初級彙編程序(二)

二、分支結構
接上篇的順序結構彙編程序,接下來看一段分支結構程序。

比較兩個無符號數大小,將大數存入MAX單元

這裏寫圖片描述

關鍵在於jnc branch這句,表示標誌位CF=0時轉移至branch。CF則是上一句的結果。CMP DEST,SRC比較命令,功能則是(DEST)-(SRC),不保留差,但保留ZF,CF,OF,SF等標誌位結果。若ZF=1,表示(DEST)=(SRC);對於無符號數,表示(DEST)≥(SRC);若CF=1,則(DEST)<(SRC);對於帶符號數,若OF=SF,表示(DEST)>(SRC);若OF≠SF,表示(DEST)<(SRC)。

這裏寫圖片描述
將95和64存入數據段
這裏寫圖片描述
較大數95爲第三個數

那麼,對於無符號數的情況呢?
這裏寫圖片描述
需將jnc改爲jge,表示SF=OF OR ZF=1,即A≥B

這裏寫圖片描述

結果較大數卻是64!爲什麼呢?
其實將95和64化成二進制數就明白了,在計算機裏的二進制數的第一位稱爲符號位,符號位爲0是正數,爲1是負數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章