Program Counter Operation
The program counter (PC) increments by one after each byte of an instruction or operand is read. Jumps, branches, returns, and interrupts load the PC with a new value.
Notes:
The program counter (PC) points to the address of the current instruction. It advances one byte at a time as instructions and operands are fetched during the course of normal program execution.
Jumps, branches, returns, and interrupts can change program flow and, thus, the normal procession of the PC. The address of a jump or branch is specified by the instruction’s addressing mode (i.e. a relative offset for a branch). Return from interrupt (RTI) and from subroutine (RTS) instructions load the PC with a return address stored on the stack. Interrupts load the PC with a value specified by the vector associated with the interrupt source.