Label_007D COMF 0x30 , f;30处值取反
MOVLW 0x01
ADDWF 0x30 , f;1+(30)的反码
BTFSC STATUS , Z;判别Z位值
DECF 0x31 , f;Z=1,则(31)-1
COMF 0x31 , f;Z=0,则31处值取反
BTFSC STATUS , Z;判别Z位值
DECF 0x32 , f;Z=1,则(32)-1
COMF 0x32 , f;Z=0,则32处值取反
COMF 0x33 , f
MOVLW 0x01
ADDWF 0x33 , f
BTFSC STATUS , Z
DECF 0x34 , f
COMF 0x34 , f
BTFSC STATUS , Z
DECF 0x35 , f
COMF 0x35 , f
RETURN
Label_002C MOVF 0x30 , W;CALL到此,(32)(31)(30)+(35)(34)(33)三字节数加法子程序
ADDWF 0x33 , f
BTFSS STATUS , C
GOTO Label_007E
MOVLW 0x01
ADDWF 0x34 , f
BTFSC STATUS , C
INCF 0x35 , f
Label_007E MOVF 0x31 , W;GOTO到此
ADDWF 0x34 , f
BTFSC STATUS , C
INCF 0x35 , f
MOVF 0x32 , W
ADDWF 0x35 , f
RETURN ;加法子程序结束 |