程序计数器(英语:Program Counter,缩写:PC)是一个中央处理器CPU中的寄存器,其功能是存储下一条要执行的指令(在机器语言中)的内存地址。在Intel x86和Itanium微处理器中,它叫做指令指针(instruction pointer,IP),有时又称为指令地址寄存器(instruction address register,IAR)[1]、指令计数器[2]或只是指令序列器的一部分[3]。
![Thumb](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/PDP-1_control_board.jpg/640px-PDP-1_control_board.jpg)
在大部分的处理器中,指令指针都是在提取程序指令后就被立即增加;也就是说跳跃指令的目的地址,是由跳跃指令的操作数加上跳跃指令之后下一个指令的地址(单位为比特或字节,视电脑形态而定)来获得目的地。
处理器通常从存储器中顺序获取指令,但控制传输指令通过在PC中添加一个新值来改变顺序。这些包括“分支”(有时称为“跳转”),“子例程调用”和“返回”。以某些断言结果为真为条件的传输可让计算机在不同条件下遵循不同的顺序。
“分支”规定下一条指令从内存中的其他地方获取。“子程序”不仅调用分支,而且还保存 PC 的先前内容。“返回”检索 PC 的保存内容并将其放回去,然后按照子程序调用的指令继续顺序执行。
参考文献
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.