Obviously setting, or clearing a bit is done with bsf and bcf. Toggleing a bit is done with XOR and a mask. But what if you don't know which bit to set, clear or toggle before the program is compiled?
From: http://www.myke.com/basic.htm
Using the code below, two bits will be "ANDed" together to find set/reset a third bit.bsf Result ; Assume the result is True btfsc BitA ; If BitA != 1 then result is False btfss BitB ; If BitB == 0 then result is False bcf Result ; Result is False, Reset the Bit