色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機多字節(jié)的除法

          51單片機多字節(jié)的除法

          作者: 時間:2012-08-24 來源:網(wǎng)絡(luò) 收藏


          ;雙字節(jié)除雙字節(jié)的程序如下:

          ;雙字節(jié)的
          ;只是8位的,但有時候需要實現(xiàn)雙字節(jié),里面的指令只支持8位。
          ;想來想去,只好用減法來實現(xiàn)了。下面這個子程序是雙字節(jié)除以雙字節(jié),商、余數(shù)結(jié)果都是雙字節(jié)保存,可能有點消耗資源,但這樣可以整合在一塊。
          ;****************************************
          ;函數(shù)名稱:Div2Byte
          ;功能描述:無符號數(shù)雙字節(jié)
          ;傳入?yún)?shù):R0R1被除數(shù) R2R3除數(shù)
          ;返回數(shù)據(jù):R4R5商 R6R7余數(shù)
          ;其他說明:比如雙字節(jié)數(shù)R0R1,R0高字節(jié) R1低字節(jié)
          ;****************************************
          Div2Byte:
          mov r0,#0ffh
          mov r1,#0ffh
          mov r2,#0
          mov r3,#254

          mov R4,#0
          mov R5,#0 ;商賦初值零
          mov A,R0
          mov R6,A
          mov A,R1
          mov R7,A ;余數(shù)賦初值,保證商為零時余數(shù)正常
          Div2Byte_1:
          mov A,R1
          clr c
          subb A,R3 ;低字節(jié)相減
          mov R1,A
          mov A,R0
          subb A,R2 ;高位相減
          mov R0,A
          jc Div2Byte_3 ;如果高字節(jié)都需要借位則退出循環(huán)
          clr c
          mov A,R5
          add A,#1 ;之后JNC判斷,故不用INC
          mov R5,A
          jnc Div2Byte_2
          inc R4 ;商加1
          Div2Byte_2:
          mov A,R1
          mov R7,A
          mov A,R0
          mov R6,A ;更新余數(shù)
          LJMP Div2Byte_1
          Div2Byte_3:
          nop

          END


          ;兩個程序均驗證無誤!我也是在網(wǎng)上抄來,然后調(diào)試的。在這里特別感謝提供這個程序并發(fā)到網(wǎng)上的同行們!

          ;我覺得我們搞單片機這一塊的人都非常非常的友好,不象有的行當(dāng),學(xué)會了一點點就開始保密保守,那樣事

          ;業(yè)怎么可能發(fā)展?我的口號是: 不保密,不保守,共同提高。要想比別人更強更高,那就付出更多

          三極管相關(guān)文章:三極管放大電路


          51單片機相關(guān)文章:51單片機教程



          上一頁 1 2 下一頁

          關(guān)鍵詞: 51單片機 除法 多字節(jié)

          評論


          相關(guān)推薦

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

          關(guān)閉