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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī) 三字節(jié)除法子程序

          單片機(jī) 三字節(jié)除法子程序

          作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
          ORG 0000H
          AJMP MAIN

          ORG 0030H
          MAIN:
          MOV 77H,#0FH
          MOV 78H,#42H
          MOV 79H,#40H

          MOV 7AH,#00H
          MOV 7BH,#03H
          MOV 7CH,#0E8H
          LCALL DIV_MB

          SJMP MAIN

          ;=================================================
          ; DIVISION FOR THREE-BYTE DATA
          ; DIVIDEND FROM 77H&78H&79H
          ; DIVISOR FROM 7AH&7BH&7CH
          ; QUOTIENT TO 77H&78H&79H
          ;ARITHMETICAL COMPLIMENT TO 7DH&7EH&7FH
          ; 2008_05_08 BY SZCKIC
          ;=================================================
          DIV_MB: MOV 7DH,#00H
          MOV 7EH,#00H
          MOV 7FH,#00H
          MOV R7,#18H
          NEXTBIT:
          CLR C
          MOV A,79H
          RLC A
          MOV 79H,A

          MOV A,78H
          RLC A
          MOV 78H,A

          MOV A,77H
          RLC A
          MOV 77H,A
          ;Arithmetical compliment
          MOV A,7FH
          RLC A
          MOV 7FH,A

          MOV A,7EH
          RLC A
          MOV 7EH,A

          MOV A,7DH
          RLC A
          MOV 7DH,A

          MOV 5AH,7DH
          MOV 5BH,7EH
          MOV 5CH,7FH
          MOV 5DH,7AH
          MOV 5EH,7BH
          MOV 5FH,7CH

          LCALL TDEC
          JNC UPDATE
          DJNZ R7,NEXTBITTMP
          RET
          UPDATE: INC 79H
          MOV 7FH,5CH
          MOV 7EH,5BH
          MOV 7DH,5AH

          DJNZ R7,NEXTBITTMP

          RET
          NEXTBITTMP:LJMP NEXTBIT

          本文引用地址:http://www.ex-cimer.com/article/201611/320136.htm

          ;=================================================
          ; Subtracter for three-byte data
          ;=================================================
          TDEC: CLR C
          MOV A,5CH
          SUBB A,5FH
          MOV 5CH,A

          MOV A,5BH
          SUBB A,5EH
          MOV 5BH,A

          MOV A,5AH
          SUBB A,5DH
          MOV 5AH,A
          RET

          除法程序?qū)懗闪?strong>子程序形式,很方便調(diào)用,除法中要頻繁用到三字節(jié)數(shù)據(jù)大小的比較,所以也寫成了一個小子程序。

          思路很簡單,拋開我們習(xí)慣了的乘法口訣,以一個小學(xué)二年級學(xué)生的思路去做就簡單了,一步一步的比較、移位,只不過這里是二進(jìn)制而不是習(xí)慣了的十進(jìn)制,當(dāng)然二進(jìn)制也有一個優(yōu)點(diǎn)那就是:

          假設(shè)A,B是兩個同樣位數(shù)的二進(jìn)制數(shù)據(jù)(首位不為0),且A>B,則A肯定小于2倍的B,所以對于每次移位只用比較一次。



          評論


          技術(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); })();