标题: 小学文化自学stm32反汇编 [打印本页]

作者: 3lian    时间: 2014-3-1 01:25
标题: 小学文化自学stm32反汇编
写一段小程序研究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那开始
作者: m182892    时间: 2014-3-1 09:23
天才常有,而伯乐不常有。
作者: YSY521    时间: 2025-6-18 01:17
你这个人我越看越来气,之前看你说是你是五邑大学的学生,然后又看你的贴子,说是中南大学的学生,现在倒好,又来一个小学文化。单论cv这部分,您是清北的水平
作者: cm7626    时间: 2025-7-9 21:29
这是从小受了什么刺激了非要标榜自己啥啥啥,估计根本就不是




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1