Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1040375
  • 博文数量: 123
  • 博客积分: 1029
  • 博客等级: 准尉
  • 技术积分: 1167
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-13 00:15
文章分类

全部博文(123)

文章存档

2014年(24)

2013年(45)

2012年(54)

分类: LINUX

2012-02-14 22:45:29

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