ARM 指令笔记
2015-11-25 10:39
239 查看
thumb BL指令计算
例子
用公式计算得到
$s = 0x0019940A $d = 0x0018D7C4 $offset = ($d-$s-4)/2 $low = $offset << (64-11) >> (64-11) $hi = $offset << (64-22) >> (64-11) $c1 = $hi + 0xF000 $c2 = $low + 0xF800 $code = $c1 | ($c2<<16)
例子
.text:0019940A F4 F7 DB F9 BL GetStrFromInt .text:0018D7C4 EXPORT GetStrFromInt
用公式计算得到
$s = 0x0019940A 0x0019940A $d = 0x0018D7C4 0x0018D7C4 $offset = ( $d - $s - 4 ) / 2 $offset = ( 0xFFFF43BA - 4 ) / 2 $offset = 0xFFFF43B6 / 2 $offset = 0xFFFFA1DB 0xFFFFA1DB $low = $offset << ( 64 - 11 ) >> ( 64 - 11 ) $low = $offset << 53 >> ( 64 - 11 ) $low = $offset << 53 >> 53 $low = 0x00000000 >> 53 $low = 0x000001DB 0x000001DB $hi = $offset << ( 64 - 22 ) >> ( 64 - 11 ) $hi = $offset << 42 >> ( 64 - 11 ) $hi = $offset << 42 >> 53 $hi = 0x00000000 >> 53 $hi = 0x000007F4 0x000007F4 $c1 = $hi + 0x0000F000 $c1 = 0x0000F7F4 0x0000F7F4 $c2 = $low + 0x0000F800 $c2 = 0x0000F9DB 0x0000F9DB $code = $c1 | ( $c2 << 16 ) $code = $c1 | 0xF9DB0000 $code = 0xF9DBF7F4 0xF9DBF7F4
相关文章推荐
- 【转】最好的8个 Java RESTful 框架
- hibernate generator class=xxx id详解
- 互联网软件的安装包界面设计-Inno setup
- LeetCode--Ugly Number II
- Android总结篇系列:Android广播机制
- cocos2d-x中求两坐标的夹角
- android 游戏总结
- java 每日习题(十一)读取配置文件
- redhat安装VMware tools的方法
- C# 将文件转化成byte[]数组
- MySQL数据导出导入
- CoreLocation使用步骤
- 好的icon图标网站
- iOS开发多线程-GCD的基本使用
- 最强最全的Tree命令详解 http://www.blogjava.net/coderdream/archive/2008/01/18/176352.html
- Notepad++搜索结果带行号如何去除
- Maven生命周期
- MongoDB与MySQL的插入、查询性能测试
- android中的文件操作详解以及内部存储和外部存储
- 隐式Intent启动Activity不成功问题