The 8051 Instruction Set
1-33 Atmel 8051 Microcontrollers Hardware Manual
4316B–8051–02/04
1.14.10 CPL A
1.14.11 CPL bit
Function: Complement Accumulator
Description: CPLA logically complements each bit of the Accumulator (one’s complement). Bits which previously contained a
1 are changed to a 0 and vice-versa. No flags are affected.
Example: The Accumulator contains 5CH (01011100B). The following instruction,
CPL A
leaves the Accumulator set to 0A3H (10100011B).
Bytes: 1
Cycles: 1
Encoding: 11110100
Operation: CPL
(A) ← (A)
Function: Complement bit
Description: CPL bit complements the bit variable specified. A bit that had been a 1 is changed to 0 and vice-versa. No other
flags are affected. CLR can operate on the carry or any directly addressable bit.
Note: When this instruction is used to modify an output pin, the value used as the original data is read from the
output data latch, not the input pin.
Example: Port 1 has previously been written with 5BH (01011101B). The following instruction sequence,CPL P1.1CPL
P1.2 leaves the port set to 5BH (01011011B).
CPL C
Bytes: 1
Cycles: 1
Encoding: 10110011
Operation: CPL
(C) ← (C)
CPL bit
Bytes: 2
Cycles: 1
Encoding: 10110010 bit address
Operation: CPL
(bit) ← (bit)