wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

一種實(shí)用的單片機(jī)多字節(jié)除法程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2012年03月30日   【字體:

      在單片機(jī)的實(shí)際應(yīng)用中,除法運(yùn)算是以比較常見的運(yùn)算。

     以MCS-51單片機(jī)為例,雖然提供了除法指令,但只能進(jìn)行單字節(jié)的運(yùn)算。如果要進(jìn)行多字節(jié)的除法運(yùn)算,就得自己設(shè)計(jì)算法。目前,許多資料上都介紹了四字節(jié)除以二字節(jié)的算法,但它們主要有以下幾點(diǎn)不足:
1. 只能求出商,不能求出余數(shù);
2. 在被除數(shù)高二字節(jié)大于除數(shù)時,不能進(jìn)行運(yùn)算;
3. 商只有兩個字節(jié)。 例如,被除數(shù)是0FFFFFFFFH,除數(shù)是0004H時,商數(shù)應(yīng)該是3FFFFFFFH,余數(shù)是0003H。
但是,用以前的算法是無法進(jìn)行運(yùn)算的。 在實(shí)際運(yùn)用中,參與運(yùn)算的數(shù)是任意的,有時需要求出余數(shù),有時商數(shù)要求有四個字節(jié),因此,以前的算法在實(shí)際應(yīng)用中受到了很大的限制。 為了滿足實(shí)際運(yùn)用中的需要,有一套新的四字節(jié)除以二字節(jié)的算法,克服了上述算法中的缺點(diǎn),可以適合廣泛的實(shí)際需要。下面以MCS-51匯編語言為例進(jìn)行說明。 該算法增加了兩字節(jié)的余數(shù)單元,并把被除數(shù)單元用來存放商數(shù)。運(yùn)算時,首先判斷除數(shù)是否為零,若為零時,則設(shè)溢出標(biāo)志為1,然后退出。若除數(shù)不為零,則采用移位相減法進(jìn)行運(yùn)算。
首先,把進(jìn)位位和余數(shù)單元清零。再將進(jìn)位位、余數(shù)單元和被除數(shù)單元按順序首尾相連,逐位進(jìn)行向左循環(huán)移位,共移位32次。每移位一次,余數(shù)單元都和除數(shù)作一次減法運(yùn)算,若夠減,余數(shù)單元內(nèi)容更新為兩者之差,并且將被除數(shù)最末一位置為1;若不夠減,則余數(shù)單元內(nèi)容保持不變,且將被除數(shù)最末一位置為0。判斷是否夠減的方法是:在作減法之前,先保存進(jìn)位位,再看作完減法后的進(jìn)位位。僅在作減法之前進(jìn)位位為0,并且作減法之后進(jìn)位位為1時判為不夠減,其余情況均視為夠減。這樣,等到全部運(yùn)算結(jié)束時,商數(shù)為四個字節(jié),存放在被除數(shù)單元中;余數(shù)為兩個字節(jié),存放在余數(shù)單元中。
例如,被除數(shù)是0FFFFFFFFH,除數(shù)是0004H時,運(yùn)行新的算法,商數(shù)是3FFFFFFFH,存放在被除數(shù)單元中,余數(shù)是0003H,存放在余數(shù)單元中。 這個算法自然、流暢,運(yùn)算結(jié)果商數(shù)為四個字節(jié),余數(shù)為兩個字節(jié),尤其是在求除以某數(shù)的N次方時,只需連續(xù)調(diào)用N次該算法子程序就可以了,省去了繁瑣的數(shù)據(jù)轉(zhuǎn)存語句。該算法還可以依實(shí)際需要擴(kuò)充為位數(shù)更高的多字節(jié)除數(shù)算法,也可以移植到其它的單片機(jī)平臺上。

        本算法已在AT89C51單片機(jī)上調(diào)試通過。下面給出算法的程序代碼清單。 

divdll data  20h ;定義被除數(shù)單元
divdlh data 21h
divdhl data 22h
dlvdhh data 23h
divl data 24h ;定義除數(shù)單元
divh data 25h
templ data 26h ;定義余數(shù)單元
temph data 27h
divd: push acc
push b
mov a,divdh ;判除數(shù)是否為零
orl a,divl
jnz divd0
setb ov ;除數(shù)為零,置溢出標(biāo)志
pop b
pop acc
ret
divd0: mov templ,#00h ;除數(shù)不為零,進(jìn)行運(yùn)算
mov temph,#00h
mov b,#20h ;置循環(huán)次數(shù)
divd1:clr c ;進(jìn)位位、余數(shù)單元和
mov a,divdll ;被除數(shù)單元全體逐個
rlc a ;向左循環(huán)移位
mov divdll,a
mov a,divdlh
rlc a
mov divdlh,a
mov a,divdhl
rlc a
mov divdhl,a
mov a,divdhh
rlc a
mov divdhh,a
mov a,templ
rlc a
mov templ,a
xch a,temph
rlc a
xch a,temph
mov f0,c ;保存進(jìn)位位
clr c
subb a,divl ;用余數(shù)減去除數(shù)
mov r7,a
mov a,temph
subb a,divh 
jc    divd2 
mov templ,r7 ;夠減,刷新余數(shù)單元
mov temph,a
inc divdll ;商上1
divd2: djnz b,divd1
clr ov
pop b
pop acc
ret
end

對于上述算法,其思想是正確的。但在DICE-51單片機(jī)仿真系統(tǒng)具體操作中還存在部分問題。下面我以DICE系列的DICE-51單片機(jī)仿真系統(tǒng)軟件為例,給出四除三字節(jié)的算法的程序代碼清單已在DICE-51單片機(jī)仿真系統(tǒng)軟件調(diào)試通過。首先,因?yàn)镈ICE-51單片機(jī)仿真系統(tǒng)軟件在做除法運(yùn)算時,若產(chǎn)生借位,不能置位,所以要用CJNE比較指令進(jìn)行置位運(yùn)算。

;定義被除數(shù)單元
DIVDLL    EQU    40H
DIVDLH    EQU    41H
DIVDHL    EQU    42H
DIVDHH    EQU    43H
;定義除數(shù)單元
DIVDL     EQU    44H
DIVDM     EQU    45H
DIVDH     EQU    46H
;定義余數(shù)單元
TEMPL     EQU    50H
TEMPM     EQU    51H
TEMPH     EQU    52H
;定義輔助單元
FZ1       EQU    47H
FZ2       EQU    48H

DIV0:  MOV   A,DIVDH             ;以下四行判斷除數(shù)是否為零
          ORL   A,DIVDM
          ORL   A,DIVDL
          JNZ   DIV1                      ;如果(A)不等于0,則跳轉(zhuǎn);否則順序執(zhí)行
          SETB  OV                       ;除數(shù)為零,置溢出標(biāo)志位OV為1,程序結(jié)束
          SJMP  LOOP1
DIV1: MOV   TEMPL,#00H         ;余數(shù)單元清零
          MOV   TEMPM,#00H
          MOV   TEMPH,#00H 
          MOV   B,#20H                   ;置循環(huán)次數(shù)32次
DIV2: CLR   C                              ;進(jìn)位位清零
          MOV   A,DIVDLL                ;以下三行被除數(shù)最低字節(jié)左移一位(帶進(jìn)位)
          RLC   A
          MOV   DIVDLL,A
          MOV   A,DIVDLH                ;以下三行被除數(shù)低16位高字節(jié)左移一位(帶進(jìn)位)
          RLC   A
          MOV   DIVDLH,A
          MOV   A,DIVDHL                 ;以下三行被除數(shù)高16位低字節(jié)左移一位(帶進(jìn)位)
          RLC   A
          MOV   DIVDHL,A
          MOV   A,DIVDHH                 ;以下三行被除數(shù)最高字節(jié)左移一位(帶進(jìn)位)
          RLC   A
          MOV   DIVDHH,A
          MOV   A,TEMPL                  ;以下三行余數(shù)低字節(jié)左移一位(帶進(jìn)位)                    
          RLC   A
          MOV   TEMPL,A
          MOV   A,TEMPM                 ;以下三行余數(shù)中間字節(jié)左移一位(帶進(jìn)位)
          RLC   A
          MOV   TEMPM,A
          MOV   A,TEMPH                  ;以下三行余數(shù)高字節(jié)左移一位(帶進(jìn)位)
          RLC   A
          MOV   TEMPH,A
          MOV   A,TEMPL                  ;把余數(shù)最低字節(jié)送到累加器A中
          CLR   C                               
          SUBB  A,DIVDL                   ;用余數(shù)減去除數(shù)
          MOV   R7,A                         ;低字節(jié)相減結(jié)果送R7保存
          MOV   A,TEMPL
          CJNE  A,DIVDL,LP              ;通過比較運(yùn)算實(shí)現(xiàn)因軟件設(shè)計(jì)原因相減不能借位

                                                      ;而產(chǎn)生的借位
LP1:   MOV   A,DIVDM                         
          ADDC  A,#00H
          MOV   FZ1,A                       ;計(jì)算除數(shù)中間字節(jié)與低字節(jié)相減產(chǎn)生的進(jìn)位位之和

                                                      ;將結(jié)果送FZ1保存
          MOV   A,TEMPM
          CJNE  A,FZ1,LP2               ;通過比較運(yùn)算實(shí)現(xiàn)因軟件設(shè)計(jì)原因相減不能借位

                                                     ;而產(chǎn)生的借位
LP2:      PUSH  PSW                     ;對程序狀態(tài)字PSW壓棧保護(hù)
          MOV   F0,C                          ;將C的值送給F0保存
          CLR   C
          MOV   A,TEMPM
          SUBB  A,FZ1   
          MOV   R6,A                          ;中間字節(jié)帶進(jìn)位相減結(jié)果送R6保存
          MOV   C,F0
          POP   PSW                          ;程序狀態(tài)字PSW彈棧,恢復(fù)現(xiàn)場
          MOV   A,DIVDH
          ADDC  A,#00H
          MOV   FZ2,A                        ;計(jì)算除數(shù)高字節(jié)與中間字節(jié)相減產(chǎn)生的進(jìn)位位之和

                                                       ;將結(jié)果送FZ2保存
          MOV   A,TEMPH
          CJNE  A,FZ2,LP3                 ;通過比較運(yùn)算實(shí)現(xiàn)因軟件設(shè)計(jì)原因相減不能借位

                                                       ;而產(chǎn)生的借位
LP3:      PUSH  PSW                     ;對程序狀態(tài)字PSW壓棧保護(hù)
          MOV   F0,C
          CLR   C
          MOV   A,TEMPH
          SUBB  A,FZ2                       ;高字節(jié)帶進(jìn)位相減結(jié)果送R5保存
          MOV   R5,A
          MOV   C,F0
          POP   PSW                          ;程序狀態(tài)字PSW彈棧,恢復(fù)現(xiàn)場
          JC    DIV3                             ;不夠減,則跳轉(zhuǎn)到DIV3
DIV4:    MOV   TEMPL,R7             ;夠減,刷新余數(shù)單元                       
          MOV   TEMPM,R6
          MOV   TEMPH,R5
          MOV   R0,#DIVDLL               ;夠減,將被除數(shù)最低位置1
          MOV   A,@R0
          INC   A
          XCH   A,@R0
DIV3:  DJNZ  B,DIV2      ;判斷B是否為零,若為零,循環(huán)結(jié)束;否則,跳轉(zhuǎn)繼續(xù)循環(huán)
             CLR   F0
LOOP1:NOP
             RET
關(guān)閉窗口

相關(guān)文章

av在线free| 欧美日韩在线精品| 视频一区不卡| chinese全程对白| 婷婷综合激情网| gogo在线观看| 日韩和欧美的一区| 日韩精品最新网址| 91精品国产综合久久久久久蜜臀 | 久久久精品免费观看| 国产一区二区三区在线观看网站| 国内视频一区| 一级性生活免费视频| 香蕉521av成人网| 亚洲肉体裸体xxxx137| 久久久噜噜噜久久人人看 | 欧美变态另类刺激| 91 中文字幕| 国产传媒在线播放| 麻豆91在线播放免费| 国产丝袜高跟一区| 久久无码高潮喷水| 高清乱码毛片入口| 一二三四在线观看免费高清中文在线观看| xxxx另类黑人| 国产高清久久久| 精品国产一区久久久| 日日干夜夜操s8| 欧美午夜春性猛交xxxx| 人人精品久久| 国产一区视频网站| 最近2019中文字幕第三页视频| 久久9精品区-无套内射无码| 成人网6969conwww| 亚洲爱爱视频| 成人短视频下载| 欧美成人手机在线| 91精品人妻一区二区三区蜜桃2 | free欧美| 国产欧美一区二区在线| 国产成人精品一区二区三区| 国产免费一区二区三区网站免费| 日韩欧美一区二区三区视频| 男人亚洲天堂| 一区二区三区在线免费视频| 国产精品视频福利| 欧美一区二区三区不卡视频| 在线中文字幕av| 一区二区三区国产盗摄| 亚洲男子天堂网| jizz欧美性11| 色偷偷网站视频| 欧美一区二区性| 欧美一级二级三级蜜桃| 日本成人黄色| 久久免费视频播放| 91免费在线| 福利电影一区二区| 国产91精品久久久| 奇米网一区二区| 久久久久久青草| 九色综合国产一区二区三区| 久久久久久久久久av| 国产精久久一区二区三区| 2222www色视频在线观看| 午夜精品成人av| 久久久精品2019中文字幕之3| 国产在线高清精品| 国产精品美女久久久久av爽| 欧美日本网站| 老司机一区二区| 97精品国产91久久久久久| 毛片久久久久久| av在线免费观看网站| 不卡在线视频中文字幕| 国产一区二区香蕉| 日韩精品一区不卡| 欧美性xxx| 亚洲国产三级在线| 国产精品自拍首页| 亚洲网站免费观看| 农村妇女一区二区| 在线这里只有精品| 精品一区二区三区无码视频| www.色播.com| 国产精品yjizz视频网| 国产.欧美.日韩| 国产精品成人av性教育| 国产一级特黄a高潮片| 波多一区二区| 一区二区三区波多野结衣在线观看| 国产精品臀控福利在线观看| av网站免费大全| 日本中文字幕在线观看视频| av加勒比在线| 国产在亚洲线视频观看| 亚洲色图影院| 国产一级黄色大片| 播九公社成人综合网站| 日本护士...精品国| 女人天堂av在线播放| 欧美天堂一区二区| 激情婷婷综合| 亚洲精品系列| 国产黄人亚洲片| 1000精品久久久久久久久| 久久免费电影网| 亚洲一区二区欧美| 欧美精品在线视频| 久久精品国产99国产精品澳门| 91豆花精品一区| 国产亚洲福利社区| 人人妻人人做人人爽| 国产精品19p| 久久亚洲国产成人精品性色| 国产suv精品一区二区69| 精品网站www| 玖玖在线免费视频| 中文字幕在线影院| 国产精品偷拍| 久久亚洲黄色| 久久精品免费| 中文乱码免费一区二区| 欧美精选在线播放| 97电影在线| 久久久99久久精品欧美| 亚洲国产精品www| 国产1卡2卡三卡四卡网站| 久久精品欧洲| 69174成人网| 中文av资源| 亚洲影院在线| 国产精品久久久久av| 国产精品久久久久久久一区二区 | 91麻豆高清视频| 日韩欧美一区二区视频在线播放 | 午夜电影网一区| 日韩视频免费在线播放| 在线免费av网址| 国产女人18毛片水真多成人如厕| 亚洲夜晚福利在线观看| 久久国产高清视频| 久久天堂影院| 国产婷婷色综合av蜜臀av| 小嫩苞一区二区三区| 成人午夜亚洲| 亚洲美女动态图120秒| www深夜成人a√在线| 99久久久国产精品免费调教网站| 日韩精品最新网址| 色婷婷粉嫩av| 国产高清亚洲| 在线播放日韩精品| 国产毛片aaa| 免费久久精品| 午夜精品一区二区三区在线视| 亚洲最大成人av| 青青草综合网| 国产激情视频一区| 被男人吃奶添下面好舒服动态图| 欧美一级播放| 精品一区久久久| 青柠在线免费观看| 99久久久久久99| 国产天堂视频在线观看| 污污网址在线观看| 亚洲欧美偷拍卡通变态| 中文字幕制服丝袜在线| 电影天堂最新网址| 国产欧美精品一区二区色综合| 国产二区视频在线| 欧美男男激情freegay| 精品成人久久av| 日韩少妇一区二区| 国产福利亚洲| 色婷婷久久av| 一级特黄特色的免费大片视频| 自拍欧美日韩| 久久久久国产精品一区| 超碰在线播放97| 国产亚洲在线| 欧美高清性xxxxhd | 亚洲电影一区二区| 少妇熟女视频一区二区三区| 免费看男女www网站入口在线| 精品久久久久久综合日本欧美| 欧美色图一区二区| 国产一区二区在线| 国产精品视频26uuu| 国产精品视频无码| 亚洲无线视频| 国产一区福利视频| 2020天天操| 亚洲特级片在线| 99久久久无码国产精品性波多| 欧美xxx网站| 中日韩美女免费视频网址在线观看| 国产一级片一区二区| 亚洲视频日本| 亚洲日本欧美日韩高观看| 91香蕉在线视频| 久久人人99| 91免费在线观看网站| 天天碰夜夜操| 夜夜嗨av一区二区三区中文字幕| 国产69视频在线观看| 久久精品黄色| 久久久久久69| 老少交欧美另类| 国产偷国产偷精品高清尤物| 国产乱叫456| 小明成人免费视频一区| 欧美大片va欧美在线播放| 天天操天天操天天操| 国产精品一级片| 久章草在线视频| 538在线观看| 日韩中文字幕免费视频| 成人乱码一区二区三区 | 555www色欧美视频| 日韩欧美大片在线观看| 欧美伊人影院| 日韩精品一区二区三区外面| 欧洲视频在线免费观看| 欧美一级午夜免费电影| 亚洲影院在线播放| 国产视频久久| 国产成人生活片| 久热久精久品这里在线观看| 欧洲亚洲国产日韩| 国产在线视频在线观看| 欧美久久影院| 热这里只有精品| 三上悠亚在线免费观看| 欧美日韩高清在线播放| 国产成人综合欧美精品久久| 亚洲久久一区| 成人在线观看www| jizz性欧美10| 日韩在线一区二区三区免费视频| 日韩在线视频第一页| 99在线精品免费| 亚洲911精品成人18网站| 岛国精品一区| 91在线观看网站| 久草在线免费福利| 精品欧美黑人一区二区三区| 99久久久久久久| 成人h动漫精品一区二| 91欧美一区二区三区| 成人午夜大片| 国产精品免费一区二区三区在线观看| 久久久久久五月天久久久久久久久| 欧美一区二区视频网站| 国产精品无码一区二区桃花视频| 国产电影精品久久禁18| 九色91porny| 欧洲亚洲一区二区三区| 在线精品观看国产| 欧美日韩在线观看免费| 日韩一级欧洲| 免费在线观看亚洲视频| 欧美91在线|欧美| 亚洲a区在线视频| 中文字幕av在线播放| 亚洲精品98久久久久久中文字幕| 国产成人精品无码高潮| 91伊人久久大香线蕉| 精品人妻互换一区二区三区| 97欧美在线视频| 在线观看17c| 国产精品久久久久av电视剧| 国产精品精品视频| 久热久精久品这里在线观看| 亚洲精品美女在线观看播放| 亚洲图区综合网| 一区二区三区av电影| 日本一区二区免费在线观看| 久久99精品久久久久久| 日本人69视频| 真实原创一区二区影院| 亚洲高清在线播放| 欧美日韩123区| 亚洲999一在线观看www| 精品亚洲综合| 欧美精品一区二区高清在线观看| 亚洲精品第五页| 国产精品久久综合| 国产精品6666| 国产一区二区不卡| 天天躁日日躁狠狠躁免费麻豆| 久久久久久影院| 亚洲精品日韩成人| 日本不卡一二三| 91亚洲精品一区二区| 日韩男人天堂| 7777精品伊人久久久大香线蕉完整版 | 五月天综合网站| www..com日韩| 91精品导航| 亚洲欧洲国产日韩精品| 电影一区二区| 国产日韩在线一区二区三区| 尤物视频在线看| 国产精品成人va在线观看| 日本亚洲欧美| 国内揄拍国内精品| 亚洲欧美日本国产| 久久99久久99精品中文字幕 | 黄网av在线| 欧美成人性福生活免费看| 亚洲另类图片另类电影| 午夜精品一区在线观看| 亚洲一区中文字幕在线| 中文字幕欧美三区| 日本在线视频中文字幕| 成人永久看片免费视频天堂| 69视频在线观看免费| 国产日韩视频在线| 日本丰满少妇黄大片在线观看| 午夜精品久久久久久毛片| 蜜桃日韩视频| 色综合天天色| 欧美一区二区福利| 精品肉辣文txt下载| 精品一区二区三区国产| 亚洲伦乱视频| 蜜桃麻豆91| 日韩精品第二页| 色吧亚洲视频| 91精品亚洲一区在线观看| 日韩一本精品| 久久国产精品免费一区二区三区| 日韩精品资源| 亚洲性视频在线| 黄色录像特级片| 私拍精品福利视频在线一区| 欧美日韩精品在线一区二区| 国产一区二区三区四区二区| 欧美性大战久久久久xxx | 肥熟一91porny丨九色丨| 最新欧美色图| 国产成人一区二| 1769视频在线播放免费观看| 日本精品久久电影| 五十路在线观看| 91极品视觉盛宴| 久在线观看福利视频| 91精品国产高清一区二区三区蜜臀| 国产香蕉成人综合精品视频| 精品久久久久久无| 99re6在线视频| 久久成人人人人精品欧| eeuss影院130020部| 亚洲性av在线| 91在线最新| 日本精品视频在线播放| 九义人在线观看完整免费版电视剧| 国产日韩在线看| 亚洲黄色网址| 亚洲精品二区| 九九热爱视频精品视频| 性刺激的欧美三级视频| 欧美日韩国产在线观看网站| 亚洲免费999| 西西裸体人体做爰大胆久久久| 国产jjizz一区二区三区视频| 成人一道本在线| 四虎精品永久在线| 亚洲一区二区三区在线看| 亚洲综合在线不卡| 精品国产免费一区二区三区香蕉| 99热在线免费观看| 国内精品久久久久久| 国产色婷婷在线| 日韩激情久久| 美女毛片一区二区三区四区最新中文字幕亚洲| 男人女人黄一级| 久久国产精品亚洲77777| www青青草原| 亚洲另类中文字| 欧美做爰性欧美大fennong| 亚洲精品小视频| 三级理论午夜在线观看| 97在线资源站| 日韩中文字幕| 免费网站永久免费观看| 日韩亚洲一区在线| 日本高清久久久| 美日韩一区二区| 91av在线免费视频| 精品久久久久久中文字幕一区奶水 | 国产情侣自拍av| 亚洲电影一级黄| 91蝌蚪视频九色| 久久资源免费视频| 中国av在线播放| 一区二区在线中文字幕电影视频| 色喇叭免费久久综合网| 欧美激情aaa|