大連計算機職業(yè)中專 梁 偉
加法器廣泛應用于計算機電路和數字通信電路中,加法器能夠實現加法運算的邏輯電路,加法器分為半加器和全加器兩種。加數和被加數為輸入,和數與進位為輸出的裝置為半加器。若加數、被加數與低位的進位數為輸入,而和數與進位為輸出,則為全加器。
兩個1位二進制全加器能夠對兩個1位二進制數和低位的進位實現加法運算,若被加數為Ai,加數為Bi,本位之和為Si,向高位進位為Ci,來自低位的進位為Ci-1??梢酝瞥鋈悠鞯暮蜑?/p>
多位數加法可以實現多個二進制數相加運算,8位二進制全加器能夠實現對兩個8位二進制數加法運算。若A為8位被加數,B為8位加數,S為8位和,C為進位,當A=1000 1011B、B=1100 1011B時,列出計算式如下:
二進制數運算特點是“逢二進一,借一當二”,可以計算得出:和S7S6S5S4S3S2S1S0=0101 0110B ,進位C7C6C5C4C3C2C1C0=1000 1011B,如圖所示,用全加器的邏輯符號畫出的8位二進制全加器邏輯圖。
加法器按進位數傳遞方式可分為串行進位和并行進位兩種方式。串行進位加法器采用串行運算方式,從二進制數的最低位開始,逐位相加至最高位,運算速度不高,最高位的運算,必須等到所有低位運算依次結束,送來進位信號之后才能進行。并行進位加法器,即超前進位加法器,采用并行運算方式,將各位數同時相加,因而提高了運算速度。
超前進位加法實現原理如下:
定義兩個中間變量Gi和Pi:,Gi為產生變量;,Pi為傳輸變量。
全加器的進位表明當Ai,Bi兩個數全為1,高位進位Gi=1,即產生進位,所以Gi稱為產生變量。當Ai,Bi不同時,即Pi=1,且Ci-1=1時,高位進位Gi=1,表明Pi=1時,低位的進位能夠傳送到高位的進位輸出端,Pi稱為傳輸變量。產生變量Gi和傳輸變量Pi都與進位信號無關,將Gi和Pi代入全加器的Si和進位Ci得:
進而可以推到各位進位信號的邏輯表達如下:
74LS283是具有超前進位4位二進制加法器芯片,用兩個74LS283芯片能夠實現超前進位8位二進制加法運算。如圖所示,設置 A=1000 1011B為8位被加數,B=1100 1011B為8位加數,運用proteus模擬軟件實驗結果:8位和為S7S6S5S4S3S2S1S0=0101 0110B,第3位向第4的進位C3=1,最高進位第7向第8的進位C7=1,實驗執(zhí)行結果與分析計算結果完全相同。
下面再運用匯編程序實現8位二進制加法運算,若1000 1011B為8位被加數, 1100 1011B為8位加數,則執(zhí)行加法指令后,求出本位和,并判斷進位狀態(tài)。
編寫匯編程序:
運用debug命令進行調試,傳送數據到寄存器(AL)=8BH=1000 1011B,(BL)=CBH=1100 1011B,執(zhí)行加法指令ADD AL,BL后,觀察到加法結果(AL)=56H=0101 0110B, 再觀察執(zhí)行加法指令后標志寄存器標志位的狀態(tài):CY表示CF=1進位標志,第7位向第8的進位為1,在字操作時低位字節(jié)向高位字節(jié)有進位。AC表示AF=1輔助進位標志,第3位向第4的進位為1,執(zhí)行結果與分析計算結果完全一致。
算術運算包括加、減、乘、除四則運算,加法器能夠實現二進制數加法運算,由于負數可用二進制數的補碼來表示,這樣可以把減法運算轉成加法運算,加法器是實現算術運算的基本電路,超前進位加法器提高了運算速度。
[1]閻石.數字電子技術基礎[M].清華大學電子教研組.
[2]沈美明,溫冬嬋 .IBM-PC匯編語言程序設計[M].清華大學.