C:\PIC_ASM\unsigned8x8\8x8.ASM
#include
;*******************************************
;功能:8位无符号数乘法的实现(对编码指令优化)
;*******************************************
CHENGSHU1 EQU 20H ;定义乘数1
CHENGSHU2 EQU 21H ;定义乘数2
COUNT EQU 22H ;定义计数器变量
DESHU_L EQU 23H ;定义结果高8位
DESHU_H EQU 24H ;定义结果低8位
;****************************************
ORG 00H
GOTO MAIN
NOP
;**************************************
MAIN
;-------此处添加需要运算被乘数和乘数的初始化赋值代码
MOVLW .87
MOVWF CHENGSHU1
MOVLW .34
MOVWF CHENGSHU2
;
MOVLW 00H;
MOVWF DESHU_L ;清空结果寄存器内容
MOVWF DESHU_H
MOVLW .8 ;设置计数器
MOVWF COUNT
MOVF CHENGSHU1 ,0
BCF STATUS ,C
LOOP
RRF CHENGSHU2 ;右移乘数(将改变C)
BTFSC STATUS ,C ;如果C为0则跳一步
ADDWF DESHU_H ,1
RRF DESHU_H,1 ;右移结果高8位(将改变C)
RRF DESHU_L,1 ;右移结果低8位(将改变C)
DECFSZ COUNT ,1
GOTO LOOP
NOP
END
1