RECEIVE movf MASK,W
btfsc STATUS,Z
goto DEFMASK ;if mask 0 do default delay
movf MASK,W
movwf LOOPB
goto MASK1 ;perform mask delay
DEFMASK movlw D'240'
movwf ANSA1
movlw D'2'
movwf ANSA2
DEFMLP decfsz ANSA1,F
goto DEFMLP
decfsz ANSA2,F
goto DEFMLP
goto MASK0
MASK1 movlw D'2' ;masking delays
movwf ANSA2
movlw D'48'
movwf ANSA1
MASK2 movlw D'4'
movwf ANSA3
MASK3 decfsz ANSA3,F
goto MASK3
decfsz ANSA1,F
goto MASK2
decfsz ANSA2,F
goto MASK2
decfsz LOOPB,F
goto MASK1
MASK0 bcf INTCON,RBIF ;clear RB4-RB7 interrupt change flag
bcf ZERO,0