关于ARM PC值

PC值(Program Counter).

ARM采用流水线来提高CPU的利用效率, 对于三级流水线, 一条汇编指令的执行包括 取值,  译码, 执行三个阶段.

当MOV指令的取指动作完毕后, 进入MOV指令的译码阶段, 同时开始ADD指令的取指动作.  由图中可以发现, 正在执行MOV指令时, 同时处于ADD的译码

阶段和SUB指令的取指阶段.

由于PC值总是指向正在"取指"的指令,  如上图, 正在执行的MOV指令时,  PC值指向正在取指的指令SUB.

这中间相隔了两条指令. 对于32位CPU来说, 一条指令占用四个字节, 所以   PC = 当前程序执行地址 + 8个字节.

猜你喜欢

转载自www.cnblogs.com/cheyihaosky/p/11828306.html