首页
社区
课程
招聘
[求助]ARM指令长度
发表于: 2021-4-19 10:37 3714

[求助]ARM指令长度

2021-4-19 10:37
3714

大家好。
ARM32位的指令长度都是32位,为啥我使用IDA-pro得到的有些指令只有16位呢?
例如:01 28 被反汇编为 CMP R0, #1。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 5488
活跃值: (2532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
thumb指令是16位的。
2021-4-19 10:39
1
雪    币: 1709
活跃值: (850)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
thumb-2
2021-4-23 20:06
0
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
thumb指令
2021-4-25 09:04
0
雪    币: 1096
活跃值: (379)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
5
arm 32,也就是常说的armeabi(v5a)、armeabi-v7a。
如果没有强制LOCAL_CFLAGS +=  -marm,编译出来的是thumb和thumb-2。
thumb是16位的,也就是你举的例子。由于2个字节表达有限,扩展出了thumb-2,是32位的。
thumb-2的高位是有限定,用于区分是thumb-2还是arm。isthumb2代码网上都有。
2021-4-25 10:48
0
雪    币: 477
活跃值: (1412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
arm和thumb可以随意切换
2021-4-26 14:06
0
游客
登录 | 注册 方可回帖
返回
//