ARM架构的指令长度是固定的,在arm 状态下是32bits的,在thumb状态下是16bits的。如果想通过程序计算的话,可以先考虑保存当前PC的值,然后在下一条指令中用新的PC值去减去你所保存下来的前一PC值,即可得出指令的长度。
在arm状态下,每条指令,包括操作码和操作数都包含在一个四字节的长度当中,除了这两项内容外,这四个字节中还编码进去了其他的东西。
PC一般指向地址上连续的下面第二条指令,所以对ARM状态来说,就是当前指令的地址+8;对thumb来说,就是+4。
阅读(2678) | 评论(0) | 转发(0) |