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

          新聞中心

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

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

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

          (1) 標(biāo)號(hào): BCDA 功能:BCD碼加法

          給大家介紹一個(gè)單片機(jī)寫的子程序
          入口條件:字節(jié)數(shù)在R7中,被加數(shù)在[R0]中,加數(shù)在[R1]中。
          出口信息:和在[R0]中,最高位進(jìn)位在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 ;調(diào)整數(shù)據(jù)指針
          DEC R1
          MOV A,@R0
          ADDC A,@R1 ;按字節(jié)相加
          DA A ;十進(jìn)制調(diào)整
          MOV @R0,A ;和存回[R0]中
          DJNZ R2,BCD1 ;處理完所有字節(jié)
          RET

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

          多字節(jié)

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



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();