分支和 ARM 程序计数器

Branch and ARM program counter

我的理解是 ARM 程序计数器指向当前正在执行的指令之前的两条指令。

这如何与条件分支甚至普通分支一起工作?

如果你正在执行op1,在op2和op3有一个分支,PC指向op3吗?还是指向 op2 的下一条指令?

如何在存在分支指令的情况下进行 PC 相对寻址?需要添加 nop 吗?

ARM中的PC寄存器指向地址space中当前指令前面的两条指令,不在执行流程中。所以 PC 指向给定示例中 op2 旁边的指令。后续指令是否分支与编码无关