3
我已阅读了大部分ARM文档,但仍然无法解码BLX指令。这里有两个例子:在ARM/Thumb(IOS)上解码BLX指令
__text:0000347C 02 F0 B2 ED BLX _objc_msgSend
__text:0000469C 01 F0 A2 EC BLX _objc_msgSend
上述这些问题都应该去同一个地方,虚拟地址0x5FE4如下所示:
__symbolstub1:00005FE4 38 F0 9F E5 LDR PC, =__imp__objc_msgSend
不过,我想不通的计算是干什么用的使用它们的指令字节从上述两个地址(0x347C和0x469C)中获得。根据ARM的文件,它应该是一个相对的跳跃,使用右移2,但数字不成立。
任何人都可以帮忙吗?
非常感谢Stephen的详细解释!我发现我在这里失踪的文档:http://www.scribd.com/doc/74005114/21/Format-19-long-branch-with-link – Locksleyu 2012-01-18 18:45:47