The program counter (PC),[1] commonly called the instruction pointer (IP) in Intel x86 and Itanium microprocessors, and sometimes called the instruction address register (IAR),[2][1] the instruction counter,[3] or just part of the instruction sequencer,[4] 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.[5][nb 2]
Processors usually fetch instructions sequentially from memory, but control transfer instructions 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.
Mead_1980
was invoked but never defined (see the help page).IBM_1953
was invoked but never defined (see the help page).Katzan_1971
was invoked but never defined (see the help page).Silberschatz_2018
was invoked but never defined (see the help page).ARM_AG12
was invoked but never defined (see the help page).
Cite error: There are <ref group=nb>
tags on this page, but the references will not show without a {{reflist|group=nb}}
template (see the help page).
© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search