找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3959|回复: 1
收起左侧

小学文化自学stm32反汇编

[复制链接]
ID:59284 发表于 2014-3-1 01:25 | 显示全部楼层 |阅读模式
写一段小程序研究STM32反汇编,本人小学文化英语字母都读不全,那种班里倒数后三名类型的。看资料全靠百度翻译瞎蒙。。



0050 0020
就是栈顶啊, 下面就是向量表
1d00 0000
复位向量
5900 0000
nmi_handler
5b00 0000
hard_fault
5d00 0000
memory_fault
5f00 0000
bus_fault
6100 0000
usage_fault
下面是复位向量指向的地址0x1c
00f0 00f8
bl  # + 0x00   也就是0x1c + 0x00 + 4 = 跳到0x20
00f0 02f8
bl # + 0x04     就是0x20+ 0x04 + 4 = 跳到0x28
00f0 00b8
b # + 0x00      @ 0x24 + 4 = 0x28 跳到 0x28
为什么跳到同一个地址? 因为 B # + 0X00 可以去掉,我胡乱打了很多 BL 跟B
0e48
ldr r0, [pc,  # + 0x38]   把没见过的放到后面的文字池里
也就是0x64  看那里是什么东西 1810 0240 这不是APB2ENR么
4ff0 3901
mov r1, # 0x39
0160
str r1, [r0]
0d48
ldr r0,  [pc, # + 0x34 ]  没见过甩到池子里
0e49
ldr r1, [pc, # + 0x38]  甩后面池子里
0160
str r1, [r0]
4ff0 0102
mov r2, # 0x01
4ff0 0003
mov r3, # 0x00
0c4e
ldr r6, [pc, # 0x30] 后边去
7047
bx lr
3260
str r2, [r6]
搞什么啊 闹了半天程序写错了啊。。上一条指令都bx lr了下面指令都没法执行了,上面成了死循环了。
0b49
ldr r1, [pc, # + 0x30]
0139
subs r1, # 1
7ff4 fdaf
bne # - 0x06
3360
str r2, [r6]
0949
ldr r1, [pc, # + 0x38]
0139
subs r1, # 1
7ff4 fdaf
bne # - 0x06
7047
bxlr
7047
bxlr
7047
bxlr
7047
bxlr
7047
bxlr
7047
bxlr

下面的就是文字池了, 从0000那开始
回复

使用道具 举报

ID:56665 发表于 2014-3-1 09:23 | 显示全部楼层
天才常有,而伯乐不常有。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表