Program Counter (PC)
It is a 16 bit register. It is a memory pointer. It stores the memory address of the next byte of the program to be executed. Memory address is of 16 bits. Suppose a program is stored in the memory starting from address 2000H ( 0010 000 0000 0000) see fig to execute this program starting address is copied in program counter (PC) register. When the program starts executing microprocessor provides the memory address from program counter. The first statement is accessed at that location and is brought into the microprocessor and executed. While first statement . after executing first statement microprocessor get the address of the second statement from the program counter. Similarly second statement is also executed and program counter is incremented by 1 and points to the next statement. The processor is repeated until the program is over.
Since this register points to the memory address of the program and keeps incrementing by one like a counter hence the name given to it is program counter.