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

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

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

;********************DUMUL********************
;本程序实现双字节无符号数乘法。
;入口参数:被乘数在SOUH:SOU中,乘数在RLTH:RLT中。
;出口参数:结果在RLTH:RLT:SOUH:SOU中。
;占用资源:W,STATUS,023H~02BH,两重堆栈。
;说明:     加载本文件的同时也加载了另外一个文件"DUADD.ASM"
;          故用户在使用这个子程序时可直接调用,不必重新加载.

           IFNDEF       DUMUL1
            #DEFINE     DUMUL1
                       
DUMUL       MOVLW       .16
            MOVWF       CNT
            MOVF        SOU,W
            MOVWF       TEMP3
            MOVF        SOUH,W
            MOVWF       TEMP4
            CLRF        SOU         ;用于暂
            CLRF        SOUH        ;存
            CLRF        TEMP1       ;结
            CLRF        TEMP2       ;果
            BCF         STATUS,C
LOOP3       RRF         TEMP4,F
            RRF         TEMP3,F     ;将被乘数的某一位送到C中
            BTFSC       STATUS,C
            CALL        DUADD       ;将RLTH:RLT中的被乘数加上
            RRF         SOUH,F
            RRF         SOU,F
            RRF         TEMP2,F
            RRF         TEMP1,F     ;被乘数右移
            DECFSZ      CNT,F
            GOTO        LOOP3
            MOVF        SOUH,W      ;保存结果
            MOVWF       RLTH
            MOVF        SOU,W
            MOVWF       RLT
            MOVF        TEMP2,W     
            MOVWF       SOUH
            MOVF TEMP1,W
            MOVWF       SOU
            RETURN
            INCLUDE     "DUADD.ASM"
           ENDIF

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

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


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