《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > PIC單片機(jī)的BCD碼加法程序

PIC單片機(jī)的BCD碼加法程序

2009-01-16
關(guān)鍵詞: PIC 源代碼

PIC單片機(jī)的BCD碼加法程序

;*******************  Unsigned BCD Addition   ***************
;
;       This routine performs a 2 Digit Unsigned BCD Addition
; It is assumed that the two BCD numbers to be added are in
; locations Num_1 & Num_2. The result is the sum of Num_1+Num_2
; and is stored in location Num_2 and the overflow carry is returned
; in location Num_1
;
;   Performance :
;               Program Memory  :       25
;               Clock Cycles    :       17   ( worst case )
;
;*******************************************************************;
;
Num_1   equ     8       ; Overflow flow carry overwrites Num_1
result  equ     8
;
Num_2   equ     9       ; Num_2 + Num_1 overwrites Num_2
O_flow  equ     9
;
;
 include         "picreg.h"
;
BCDAdd  movf    Num_1,W
 clrf    Num_1           ;clear num_1
 addwf   Num_2,1         ; do binary addition
 btfsc   STATUS,C        ;< 256 then skip
 goto    inc_n1n2        ;else inc all
 movlw   66              ;add 66
 addwf   Num_2,1         ;/
 btfss   STATUS,DC       ;half carry?
 goto    sub_06          ;no then subtract
 btfss   STATUS,C        ;full carry?
 goto    sub_60          ;yes then subtract
inc_n1  incf    Num_1,1         ;inc it
 retlw   0               ;clr w
sub_06  btfss   STATUS,C        ;full carry
 goto    sub_66          ;yes subtract 66
 movlw   6               ;else subtract 6
 goto    sub_com         ;do common
sub_66  movlw   66             
sub_com subwf   Num_2,1                  
 retlw   0
sub_60  movlw   60
 goto    sub_com
inc_n1n2
 movlw   66
 addwf   Num_2,1
 goto    inc_n1
;
;********************************************************************
;               Test Program
;*********************************************************************
main    movlw   99
 movwf   Num_1      ; Set Num_1 = 99 ( max BCD digit )
 movlw   99
 movwf   Num_2      ; Set Num_2 = 99
;
 call    BCDAdd     ; After addition, Num_2 = 98
;                          ;  and Num_1 = 01 ( 99+99 = 198 -> max number )
;
self    goto    self
;
;
 org     1FF
 goto    main
;
 END

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 热re99久久精品国产99热| www.亚洲成在线| 日本高清va在线播放| 亚洲欧美日韩综合一区| 老师你好电影高清完整版在线观看| 国产精品偷伦视频观看免费| 一个人看的www在线高清小说| 日韩亚洲人成网站| 亚洲无成人网77777| 竹菊影视欧美日韩一区二区三区四区五区 | 欧美精品一区二区精品久久| 又色又爽又黄的视频网站| 黄色香蕉视频网站| 国产精品白浆在线观看无码专区| 一个人看的www免费在线视频| 日本人善交69xxx| 亚洲av永久青草无码精品| 毛片免费视频播放| 再深点灬舒服灬快h视频| 雏女强破瓜在线观看| 国产熟睡乱子伦视频| 91嫩草私人成人亚洲影院| 好大好硬好爽好舒服| 中文字幕免费播放| 日韩一区二区三区免费体验| 亚洲人成电影院| 波多野结衣1区| 免费国产黄网站在线观看视频| 胸奶好大好紧好湿好爽| 国产在线视频不卡| 亚洲国产91在线| 国产精品自产拍在线观看花钱看| a级毛片高清免费视频| 怡红院一区二区在线观看| 久久久xxxx| 日韩欧美亚洲国产精品字幕久久久| 亚洲国产成人精品无码区在线网站| 爱情岛永久入口首页| 免费精品久久久久久中文字幕| 老头猛挺进小莹的体内小说全集| 国产强伦姧在线观看无码|