根据ARM IC.
在ARM状态下,PC的值是当前指令的地址加上8个字节.
在Thumb状态:
- 对于B,BL,CBNZ和CBZ指令,PC的值是当前指令的地址加上4个字节.
- 对于使用标签的所有其他指令,PC的值是当前指令的地址加上4个字节,结果的位[1]清零以使其字对齐.
简单地说,PC寄存器的值指向下一条指令后的指令.这是我没有得到的.通常(特别是在x86上)程序计数器寄存器用于指向要执行的下一条指令的地址.
那么,底层的前提是什么?有条件执行,也许?
我目前正在处理向量,并试图确保我在堆栈上拥有本质上是向量数组的内容。我无法调用,Vec::into_boxed_slice因为我正在动态分配Vec. 这是可能吗?
阅读了关于如何实现的VecRustonomicon 后,它似乎跨越了堆上的指针,在每个条目处取消引用。我想将Vec堆中的条目分块到堆栈中以便快速访问。