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

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

2023-5-30 18:46
6178

图片描述
图片描述
以上两张图分别有一个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的地址
搞得我人麻了
有没有大哥指点一二,小弟感激不尽


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

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

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 被风间仁编辑 ,原因:
2023-5-30 19:59
1
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
风间仁 Register-relative and PC-relative expressionsIn ARM state, the v ...

应该是正解

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

低2位都为0了

最后于 2023-6-1 09:16 被xzqc编辑 ,原因:
2023-6-1 08:45
0
雪    币: 4883
活跃值: (18890)
能力值: ( LV13,RANK:317 )
在线值:
发帖
回帖
粉丝
9
风间仁 Register-relative and PC-relative expressionsIn ARM state, the v ...
大哥V5
2023-6-1 09:38
0
雪    币: 2552
活跃值: (4433)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10

有这种意外

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

有这种情况

2023-6-2 14:19
0
游客
登录 | 注册 方可回帖
返回
//