相关疑难解决方法(0)

为什么ARM PC寄存器指向下一个要执行的指令后?

根据ARM IC.

在ARM状态下,PC的值是当前指令的地址加上8个字节.

在Thumb状态:

  • 对于B,BL,CBNZ和CBZ指令,PC的值是当前指令的地址加上4个字节.
  • 对于使用标签的所有其他指令,PC的值是当前指令的地址加上4个字节,结果的位[1]清零以使其字对齐.

简单地说,PC寄存器的值指向下一条指令后的指令.这是我没有得到的.通常(特别是在x86上)程序计数器寄存器用于指向要执行的下一条指令的地址.

那么,底层的前提是什么?有条件执行,也许?

assembly arm

33
推荐指数
1
解决办法
2万
查看次数

标签 统计

arm ×1

assembly ×1