Instruction pointer
The
instruction pointer (also called the
program counter in some
computers) is a
register in a computer
processor which indicates where the computer is in its instructions. Depending on the details of the particular machine, it holds either the address of the instruction being executed, or the address of the next instruction to be executed.
In most processors, the instruction pointer is incremented before the instruction is executed; this means that the target address of a branch instruction is obtained by adding the branch instruction's operand to the address of the next location (byte or word, depending on the computer type) after the branch instruction.