对于像Intel和AMD这样x86体系结构的计算机而言,PC计数器是通过cs:ip寄存器来实现的,此时的pc计数器不能通过mov指令直接进行改变,因为mov指令只能改变1个寄存器,因此如果想要改变程序的执行流需要通过jmp、call、int、ret等指令;
而对于ARM体系结构的计算机而言就是通过mov指令来改变执行流,因为ARM体系结构下有专门的寄存器作为程序计数器,就叫PC,因此如果想要改变程序执行流,直接对PC寄存器赋值即可。
程序计数器(PC)是CPU内的一个寄存器,存储的是将要执行的下一条指令的地址,所以通常也叫做指令计数器。当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。所以说上面的“这个量”是指的上一条指令的长度,执行完后要确定下一条指令的地址,就得增加已经执行的指令的长度。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)