Hello John . To correct my recent mistake I offer the same idea as your one , but for multibyte substraction . > movf S1,w > btfsc C > incfsz S1,w > addwf D1,f After thinking some times about this tricky code I can tell: It's really one from finest(beautiful) PIC code construction . My example for multibyte substraction : ; D1 = D1 - S1 - borrow ; before/after C = 0 - subtraction was with borrow ; before/after C = 1 - subwf was without borrow ... MOVFW S1 SKPC DECFSZ S1,W SUBWF D1,F ... WBR Dmitry. P.S. I get just another confirmation that PIC code set is not bad ;)