Myke Predko says:

Yesterday, I needed snippets of code which which will increment/decrement the "w" register without affecting any of the other registers in a 12C508.

For Increment, I came up with:

  xorlw 0x0FF                ;  Get 1s Complement of Number
  addwf Reg, w             ;  w = Reg + (w^0x0FF)
  subwf Reg, w             ;  w = Reg + ((Reg + (w^0x0FF))^0x0FF) + 1
                                      ;  w = w + 1

and for Decrement:

  subwf Reg, w             ;  w = Reg + (2^0x0FF) + 1
  xorlw 0x0FF               ;  Get 1s Complement of Result
  addwf Reg, w             ;  w = w - 1

"Reg" can be any Register in the PICMicro which cannot change during the course of the three instructions (in the low-end PICMicros, this is any port other than the timer and I/O ports).