;Diference, odstraní chvění na nejnižších bitech. ;VSTUP: A1,2=nová hodnota, B1,2=stará hodnota ;VYSTUP: B1,2=výsledek DIF ;A - B = C MOVF B1,W SUBWF A1,W ;A1-B1=W MOVWF C1 ;uložit MOVF B2,W BTFSS STATUS,C ;kladné? ADDLW 1 ;B2+1=W SUBWF A2,W ;A2-B2=W MOVWF C2 ;uložit ;C2 = nenulové? (AB+255) ; MOVF C2,F BTFSS STATUS,Z ;C2=0? GOTO ADB ;NE, nová hodnota z A ;C1 > 10? (A>B+10) MOVF C1,W SUBLW 10 ;10-C1 BTFSS STATUS,C ;kladné? GOTO ADB ;NE, nová hodnota z A ;C1 <= 4? (A<=B+4) MOVF C1,W SUBLW 4 ;4-C1 BTFSC STATUS,C ;záporné? RETURN ;NE, stará hodnota z B ;C1 > 4 (A>B+4) INCFSZ B1,F ;stará hodnota B+1 RETURN ; INCF B2,F ; RETURN ADB MOVF A1,W ;přesun nové hodnoty A do B MOVWF B1 ; MOVF A2,W ; MOVWF B2 ; RETURN