文章目录

Contents

synopsis

  • Theprogram counter(PC), commonly called theinstruction pointer(IP) in​​Intel​​​​x86​​​ and​​Itanium​​​​microprocessors​​, and sometimes called theinstruction address register(IAR),​​[1]​​ theinstruction counter,​​[2]​​​ or just part of the instruction sequencer,​​[3]​​​ is a​​processor register​​​ that indicates where a​​computer​​​ is in its​​program​​​ sequence.​​[nb 1]​
  • Usually, the PC is incremented after fetching an​​instruction​​​, and holds the​​memory address​​​ of (“​​points​​​ to”) the next instruction that would be executed.​​[4]​​​​[nb 2]​
  • Processors usually fetch instructions sequentially from memory, butcontrol transferinstructions change the sequence by placing a new value in the PC. These include​​branches​​​ (sometimes called jumps),​​subroutine​​​ calls, and​​returns​​. A transfer that is conditional on the truth of some assertion lets the computer follow a different sequence under different conditions.
  • A branch provides that the next instruction is fetched from elsewhere in memory. A subroutine call not only branches but saves the preceding contents of the PC somewhere. A return retrieves the saved contents of the PC and places it back in the PC, resuming sequential execution with the instruction following the subroutine call.