;********************************************************************************
;//是16*16进制,如果要十进制,则要进行BCD转换
;********************DUMUL test Date:0808,ok*************************************
;具体可参考相关子程序库
;最大实现FFFF*FFFF=FFFE0001的算法 比如:0X08 0X43 * 0X00 0X10>>>0X84 0X30
;本程序实现双字节无符号数乘法。
;入口参数:被乘数在SOUH:SOU中,乘数在RLTH:RLT中。
;出口参数:结果在RLTH:RLT:SOUH:SOU中。
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