An 8-bit ALU is incorporated to perform Arithmetic and Logical operation. Unless otherwise mentioned, arithmetic operations are two’s complement in nature. Among two-operand instructions, one operand is typically the W (working) register and other operand is either a file register or an immediate constant. In single operand instructions, the operand is either the W register or a file register.
W register: The W register is an 8-bit working register used for ALU operations. It can hold value for any ALU operation. A new assigned value will be over written on the previous one. It is not an addressable register. Depending on the instruction executed, the ALU may affect the values of the Carry (C), Digit Carry (DC) and Zero (Z) bits in the STATUS register.
The C and DC bits operate as a borrow and digit borrow out bit, respectively, in subtraction.
Architecture Block Diagram:
PIC10F200/202 Block Diagram