芯片CPU硬件中,pc寄存器中的数据有什么功能?与别的寄存器有什么特别之处?pc也是程序控制指针?

如题所述

PC是程序计数器。不属于特殊功能寄存器。它存放的是下一条要取的指令的16位存储单元地址,当取完一个字节以后,PC的值会自动加以,为取在下一条指令做准备。
还有一点:单片机复位后,PC自动清零。在执行中断程序时PC值不加一。
PC 中内容的变化决定程序的流向。
读指令时,PC将其中的数值作为所取指令的地址输出给程序存储器,然后程序存储器按此地址输出指令字节,同时PC中的内容自动加1,指向下一条指令在程序存储器中的地址。
值得注意的是,在执行子程序调用或响应中断时,也就是断点值单片机自动完成如下操作:
1、PC的现行值,即下一条将要执行的指令的地址,自动压入堆栈,保护起来。
2、将子程序的入口地址或中断向量的地址送入PC,程序流向发生变化,去执行子程序或中断服务子程序。
3、遇到返回RET或RETI指令时,将栈顶的断点值弹回PC中,程序的流向又返回到断点处,从断点处继续执行程序。
温馨提示:答案为网友推荐,仅供参考