ARM PC寄存器

2024-11-14 14:35:42
推荐回答(1个)
回答1:

你看到的是不是正在执行指令的地址呵?(PC的值是指令1的地址)

我的理解是,流水线这个问题是CPU架构的特点,为了使流水线正常的走下去,物理寄存器里真实的值(PC值)应该指向正在取址的指令,所以手动写汇编的时候通过PC获取指令编译的时候需要注意。但在我们看来,汇编程序是一条条单步执行的,所以某些调试器会根据CPU架构的特点(几级流水)对PC的值进行调整,让我们最终看到的应该是正在执行的指令。

类似的中断处理完后,也不是直接将返回地址推入PC,而是应该先对LR的值进行处理(减4 或 减?)。