首页
社区
课程
招聘
[求助]关于thumb-2 B跳转地址的计算
发表于: 2015-10-28 20:21 6132

[求助]关于thumb-2 B跳转地址的计算

2015-10-28 20:21
6132




按照ARM手册上的计算方式,算出结果不对。
S = 0
J1 = 1
J2 = 1
imm10 = 0b0000000100
imm11 = 0b10111111111

I1 = NOT(J1 EOR S) = 0
I2 = NOT(J2 EOR S) = 0

S:I1:I2:imm10:imm11:’0’ = 0b0000000000100101111111110
SignExtend(S:I1:I2:imm10:imm11:’0’, 32) = 0b11111110000000000100101111111110 = 0xFE004BFE

pc + 0xFE004BFE + 4 =  0xdc82 + 0xFE004BFE + 4 = 0xFE012884

实际跳转地址为0x12884,请问哪里有问题??

另外求教, IT block是什么意思?

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

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 228
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
一个人都米有~~~
2015-10-30 14:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
SignExtend(x,i) = Replicate(TopBit(x), i-Len(x)) : x

现在你的 TopBit(x) = S = 0,所以 SignExtend 的结果就是 0x4BFE,而不是 0xFE004BFe
2015-10-31 17:09
0
雪    币: 228
活跃值: (60)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
thx,明白了!
2015-11-2 20:10
0
游客
登录 | 注册 方可回帖
返回
//