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