在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 模擬技術 > 設計應用 > 用軟件實現DAA的方法

            用軟件實現DAA的方法

            作者: 時間:2013-09-09 來源:網絡 收藏

            本文重點介紹用實現的方法。

              計算機采用的十進制操作數一般都為壓縮型8421 BCD碼,每個BCD碼表示1位十進制數。每2位BCD碼共存于同一字節(jié)單元中,故BCD運算涉及狀態(tài)寄存器SREG的進位C(第0位)和半進位H(第5 位)。它們分別為高、低位BCD的進(借)位。在進行BCD碼加減運算時,計算機是按二進制數對待的,因此會產生與十進制運算規(guī)則不相符合的情況:一是當產生進(借)位(C=1或H=1)時,該進(借)位等于16(對所涉及的1位BCD碼而言),而在十進制運算中應等于10;二是可能產生非法BCD碼(值大于9)。即為糾正以上錯誤而設的。

              1 的實現方法

              1.1 實現加法DAA功能子程序ADAA和ADAA1的設計方法

              經實踐考查,BCD碼加法運算,可產生以下3種情況:

             ?、?不須調整,特點是既不產生進位,也不產生非法BCD碼。如$22+$11=$33。

              ② 產生非法BCD碼,必須加6調整。特點是BCD碼相加后不產生進位,但加6調整后產生進位。如

              $36+$37=$6D(產生非法BCD),加6調整后變?yōu)?73(產生半進位H)。$68+$87=$EF,加$66調整后變?yōu)?155(產生進位C和半進位H)等。

              ③ 產生進位,必須加6調整。特點是BCD碼相加只產生進位,不會同時產生非法BCD碼;而加6調整后既不會再產生進位/半進位(而是清除了原來的進位/半進位),也不會產生非法BCD碼。例:

              $99+$88=$121,進位C和半進H位都置位,故加$66來調整:$21+$66=$87,并要恢復進位C。

              綜合以上3種情況,得出下面加法DAA之實現方法:首先保存BCD碼相加后的狀態(tài)寄存器SREG(保存其中的進位C和半進位H,稱為Co和Ho)。再將 BCD碼之和加上$66,產生出新的進位Cn及半進位Hn。若Co、Cn中有1個置位(只能有1個!),說明高位BCD滿足調整條件并調整完畢,否則為不夠調整條件,應減$60恢復;若Ho、Hn中有1個(只能有1個!)置位,說明低位BCD滿足調整條件并調整完畢,否則為不夠調整條件,應減6恢復。程序中是將新、舊進位和半進位對應"或"起來,只對"或"結果進行判斷。注意,軟件DAA功能既要保證本字節(jié)壓縮BCD碼相加值的正確性,又要保證對高位 BCD產生進位的正確性,故要將Co∨Cn的結果返還給SREG,以使下一步能正確實現高位BCD帶進位加。

              ADAA為BCD碼相加調整子程序,使用寄存器R20作為工作單元(使用R22、R11、R10等3個寄存器作為輔助工作單元),所有調整工作都在此單元內進行。

              ADAA1為數制轉換程序中實現BCD碼左移調整的子程序,為加法DAA之特例:它在R20工作單元內實施BCD碼帶進位位自加并完成對和的調整。

              1.2 實現減法DAA功能子程序SDAA的設計方法

              由實踐可知,減法DAA要比加法來得簡單:只須對產生借位的BCD碼進行調整。BCD碼減法運算,只有以下2種情況:

             ?、?不產生借位,不須調整,如 $22-$11=$11。

             ?、?產生借位,此時不論有否非法BCD碼產生


            上一頁 1 2 3 下一頁

            關鍵詞: 軟件 DAA

            評論


            相關推薦

            技術專區(qū)

            關閉