<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 匯編語言多字節(jié)BCD碼加法減法

          匯編語言多字節(jié)BCD碼加法減法

          作者: 時間:2013-01-07 來源:網(wǎng)絡 收藏

          (1) 標號: BCDA 功能:BCD碼加法

          給大家介紹一個單片機寫的子程序
          入口條件:字節(jié)數(shù)在R7中,被加數(shù)在[R0]中,加數(shù)在[R1]中。
          出口信息:和在[R0]中,最高位進位在CY中。
          影響資源:PSW、A、R2 堆棧需求: 2字節(jié)
          BCDA: MOV A,R7 ;取字節(jié)數(shù)至R2中
          MOV R2,A
          ADD A,R0 ;初始化數(shù)據(jù)指針
          MOV R0,A
          MOV A,R2
          ADD A,R1
          MOV R1,A
          CLR C
          BCD1: DEC R0 ;調整數(shù)據(jù)指針
          DEC R1
          MOV A,@R0
          ADDC A,@R1 ;按字節(jié)相加
          DA A ;十進制調整
          MOV @R0,A ;和存回[R0]中
          DJNZ R2,BCD1 ;處理完所有字節(jié)
          RET

          (2) 標號: BCDB 功能:多字節(jié)BCD碼減法
          入口條件:字節(jié)數(shù)在R7中,被減數(shù)在[R0]中,減數(shù)在[R1]中。
          出口信息:差在[R0]中,最高位借位在CY中。
          影響資源:PSW、A、R2、R3 堆棧需求: 6字節(jié)
          BCDB: LCALL NEG1 ;減數(shù)[R1]十進制取補
          LCALL BCDA ;按多字節(jié)BCD碼加法處理
          CPL C ;將補碼加法的進位標志轉換成借位標志
          MOV F0,C ;保護借位標志
          LCALL NEG1 ;恢復減數(shù)[R1]的原始值
          MOV C,F0 ;恢復借位標志
          RET
          NEG1: MOV A,R0 ;[R1]十進制取補子程序入口
          XCH A,R1 ;交換指針
          XCH A,R0
          LCALL NEG ;通過[R0]實現(xiàn)[R1]取補
          MOV A,R0
          XCH A,R1 ;換回指針
          XCH A,R0
          RET
           
          (3) 標號: NEG 功能:多字節(jié)BCD碼取補

          多字節(jié)

          入口條件:字節(jié)數(shù)在R7中,操作數(shù)在[R0]中。
          出口信息:結果仍在[R0]中。
          影響資源:PSW、A、R2、R3 堆棧需求: 2字節(jié)
          NEG: MOV A,R7 ;?。ㄗ止?jié)數(shù)減一)至R2中
          DEC A
          MOV R2,A
          MOV A,R0 ;保護指針
          MOV R3,A
          NEG0: CLR C
          MOV A,#99H
          SUBB A,@R0 ;按字節(jié)十進制取補
          MOV @R0,A ;存回[R0]中
          INC R0 ;調整數(shù)據(jù)指針
          DJNZ R2,NEG0 ;處理完(R2)字節(jié)
          MOV A,#9AH ;最低字節(jié)單獨取補
          SUBB A,@R0
          MOV @R0,A
          MOV A,R3 ;恢復指針
          MOV R0,A
          RET



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();