BCFPORTC,2;对各个变量清零
CLRFNUM;
CLRFVALUE;
CLRFNUM;
CLRFINDEX;
RETURN
; ***************************初始化子程序结束*********************************
; ***************************AAA输出子程序****************************************
AAA
BCFSTATUS,RP0;转到体0
BCFSTATUS,RP1;
MOVFNUM,0;
BTFSSSTATUS,Z;NUM是否为零
GOTOBBB;不是,跳转
CLRFNUM;将NUM清零
BTFSCINDEX,4;INDEX是否大于16
CLRFINDEX;是,清零
CALLTABLE;否,查表
MOVWFVALUE;查表的值存到VALUE
INCFINDEX,0;INDEX加1
BBB
MOVFVALUE,0;
ADDWFNUM,0;VALUE+SUM存到W中
BTFSCSTATUS,C;测试是否有进位
GOTONEXT4;有,跳转
BCFPORTC,2;无,
RETURN
NEXT4
BSFPORTC,2;有,RC2=1
RETURN
TABLE
MOVFINDEX,W
ADDWFPCL,F
RETLW00H
RETLW04H
RETLW08H
RETLW0CH
RETLW10H
RETLW14H
RETLW14H
RETLW14H
RETLW14H
RETLW14H
RETLW14H
RETLW0CH
RETLW08H
RETLW04H
RETLW00H
; ***************************AAA输出子程序结束*************************************
; ***************************主程序结束*************************************
END