首页
社区
课程
招聘
[求助]请教一个thumb 指令下 pc的问题
2023-5-30 18:46 5598

[求助]请教一个thumb 指令下 pc的问题

2023-5-30 18:46
5598

图片描述
图片描述
以上两张图分别有一个adr指令 用于switch查表的地址 但是通过我的计算

1
2
3
4
5
addr: 0xBF5FF1E4 ADR R2,#8
R2 = PC +8
R2 = 0xBF5FF1E4 +4 +8 (Pc在thumb模式下 指向地址+4的位置)
R2 = BF5FF1F0
R2 = jpt_BF5FF1EC(0xBF5FF1F0)

然而 这个计算公式在我的第二张图中发生了冲突

1
2
3
4
5
addr: 0xBF5FF29E ADR R3,#8
R3 = PC +8
R3 = 0xBF5FF29E +4 +8 (Pc在thumb模式下 指向地址+4的位置)
R3 = 0xBF5FF2AA
R3 != jpt_BF5FF2A6(0xBF5FF2A8)

而在我的动态调试下 图一二都能够正确的拿到table的地址
搞得我人麻了
有没有大哥指点一二,小弟感激不尽


[培训]内核驱动高级班,冲击BAT一流互联网大厂工 作,每周日13:00-18:00直播授课

最后于 2023-5-30 18:56 被method编辑 ,原因:
收藏
免费 1
打赏
分享
最新回复 (10)
雪    币: 576
活跃值: (1881)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
xzqc 2023-5-30 19:00
2
0
thumb下我记得是pc地址要mod4,就是这么sb
雪    币: 28459
活跃值: (6886)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
风间仁 19 2023-5-30 19:59
3
1

Register-relative and PC-relative expressions


In ARM state, the value of the PC is the address of the current instruction plus 8 bytes.

In Thumb state:

For B, BL, CBNZ, and CBZ instructions, the value of the PC is the address of the current instruction plus 4 bytes.

For all other instructions that use labels, the value of the PC is the address of the current instruction plus 4 bytes, with bit[1] of the result cleared to 0 to make it word-aligned.

最后于 2023-5-30 20:00 被风间仁编辑 ,原因:
雪    币: 62
活跃值: (597)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
万里星河 2023-5-30 20:56
4
0
风间仁 Register-relative and PC-relative expressionsIn ARM state, the v ...

应该是正解

最后于 2023-5-30 20:57 被万里星河编辑 ,原因:
雪    币: 2059
活跃值: (3753)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
method 2023-5-30 22:40
5
0
风间仁 Register-relative and PC-relative expressionsIn ARM state, the v ...
大哥威武
雪    币: 2059
活跃值: (3753)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
method 2023-5-31 10:39
6
0
xzqc thumb下我记得是pc地址要mod4,就是这么sb
之前尝试过,并不一定 ,3楼正解
雪    币: 576
活跃值: (1881)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
xzqc 2023-6-1 08:41
7
0
method 之前尝试过,并不一定 ,3楼正解
模4不就是4字节对齐了。。。
雪    币: 576
活跃值: (1881)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
xzqc 2023-6-1 08:45
8
0
xzqc 模4不就是4字节对齐了。。。

低2位都为0了

最后于 2023-6-1 09:16 被xzqc编辑 ,原因:
雪    币: 3544
活跃值: (18024)
能力值: ( LV12,RANK:277 )
在线值:
发帖
回帖
粉丝
0x指纹 5 2023-6-1 09:38
9
0
风间仁 Register-relative and PC-relative expressionsIn ARM state, the v ...
大哥V5
雪    币: 2059
活跃值: (3753)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
method 2023-6-2 14:19
10
0

有这种意外

雪    币: 2059
活跃值: (3753)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
method 2023-6-2 14:19
11
0
xzqc xzqc 模4不就是4字节对齐了。。。 低2位都为0了

有这种情况

游客
登录 | 注册 方可回帖
返回