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
Two bits will be "ORed" together to find set/reset a third bit. The result is expected to be false and when either bit is set, the result is true:bcf Result ; Assume the result is False btfss BitA ; If BitA != 0 then result is True btfsc BitB ; If BitB == 0 then result is False bsf Result ; Result is True, Set the Bit