您的位置:首页单片机PIC单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

PIC单片机子程序-单字节 双字节的加法

[日期:2008-01-29 ] [来源:东哥开发网(www.picavr.com) 作者:佚名] [字体: (投递新闻)

;********************SCOBCDADD********************
;本程序实现单字节压缩BCD码加法。
;入口参数:被加数在SOU中,加数在RLT中。
;出口参数:结果在SOU中,进位位在STATUS:C中。
;占用资源:W,STATUS,024H,026H,028H,一重堆栈。

           IFNDEF       SCOBCDADD1
            #DEFINE     SCOBCDADD1
                       
SCOBCDADD   CLRF        TEMP1       ;结果高位清零
            MOVF        RLT,W
            ADDWF       SOU,F       ;二进制加法
            RLF         TEMP1,F
            BTFSC       STATUS,DC   ;DC = 0 ?
            GOTO        ADJUST      ;调整LSD
            MOVLW       6
            ADDWF       SOU,F       ;通过加6检测是否 LSD > 9
            BTFSC       STATUS,C
            INCF        TEMP1,F
            BTFSS       STATUS,DC   ;检查半进位
            SUBWF       SOU,F       ; LSD < 9 ,恢复原值
            GOTO        OVER1
ADJUST      MOVLW       6
            ADDWF       SOU,F
OVER1       MOVLW       60          ;MSD加6
            ADDWF       SOU,F
            BTFSC       STATUS,C
            RETLW       0
            BTFSS       TEMP1,0
            SUBWF       SOU,F
            RRF         TEMP1,F
            RETLW       0
           ENDIF

上一页123456789下一页  GO
阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
站长推荐