Paul BRITTON wrote: > In other words can you use W or any reg as an indirect bit pointer? Pick another register as pointer, let's call it "ptr". clrc movlw 1 btfsc ptr,1 movlw 4 movwf mask btfsc ptr,0 rlf mask,F btfsc ptr,2 swapf mask,F ; or W if you need that Now you've got your mask value; do what you will with it. This code is isosynchronous, it may be shorter code to rlf mask while decfsz ptr. Concept not original, copied from Dimitry amongst others. -- Cheers, Paul B.