Cuando se trata de complementar todos las posiciones de un registro, la manera más cómoda de hacerlo es utilizando el operador "~". Por ejemplo si deseas complementar todos los bits del puerto P0, escribirías el siguiente código:
// defines el registro
sfr P0 = 0x80;
// complementas todos los bits
P0 = ~P0;
Ten en cuenta que esta operación afecta a todos los bits del registro.
Donde hay un "0" lo cambia a "1" y donde hay un "1" escribe un "0".