韦东山Linux嵌入式课程社区
登录
直播中
倪山骋
7年用户
1025经验值
私信
关注
用老师代码反汇编结果与老师的反汇编代码不同
开启该帖子的消息推送
韦东山
汇编
为啥我用老师的代码反汇编结果与老师的反汇编代码不同?
led.c
int main()
{
unsigned int *pGPFCON = (unsigned int *)0x56000050;
unsigned int *pGPFDAT = (unsigned int *)0x56000054;
/* 配置GPF4为输出引脚 */
*pGPFCON = 0x100;
/* 设置GPF4输出0 */
*pGPFDAT = 0;
return 0;
}
复制代码
start.S
.text
.global _start
_start:
/* 设置内存: sp 栈 */
ldr sp, =4096 /* nand启动 */
// ldr sp, =0x40000000+4096 /* nor启动 */
/* 调用main */
bl main
halt:
b halt
复制代码
我的反汇编
led.elf: file format elf32-little
ARM
Disassembly of sec
ti
on .text:
00000000 <_start>:
0: e3a0da01 mov sp, #4096 ; 0x1000
4: eb000000 bl c
00000008
:
8: eafffffe b 8
0000000c
:
c: e52db004 push {fp} ; (str fp, [sp, #-4]!)
10: e28db000 add fp, sp, #0 ; 0x0
14: e24dd00c sub sp, sp, #12 ; 0xc
18: e3a03456 mov r3, #1442840576 ; 0x56000000
1c: e2833050 add r3, r3, #80 ; 0x50
20: e50b300c str r3, [fp, #-12]
24: e3a03456 mov r3, #1442840576 ; 0x56000000
28: e2833054 add r3, r3, #84 ; 0x54
2c: e50b3008 str r3, [fp, #-8]
30: e51b200c ldr r2, [fp, #-12]
34: e3a03c01 mov r3, #256 ; 0x100
38: e5823000 str r3, [r2]
3c: e51b2008 ldr r2, [fp, #-8]
40: e3a03000 mov r3, #0 ; 0x0
44: e5823000 str r3, [r2]
48: e3a03000 mov r3, #0 ; 0x0
4c: e1a00003 mov r0, r3
50: e28bd000 add sp, fp, #0 ; 0x0
54: e8bd0800 pop {fp}
58: e12fff1e bx lr
复制代码
老师的反汇编
led.elf: file format elf32-littlearm
Disassembly of section .text:
00000000 <_start>:
0: e3a0da01 mov sp, #4096 ; 0x1000
4: eb000000 bl c
00000008
:
8: eafffffe b 8
0000000c
:
c: e1a0c00d mov ip, sp
10: e92dd800 stmdb sp!, {fp, ip, lr, pc}
14: e24cb004 sub fp, ip, #4 ; 0x4
18: e24dd008 sub sp, sp, #8 ; 0x8
1c: e3a03456 mov r3, #1442840576 ; 0x56000000
20: e2833050 add r3, r3, #80 ; 0x50
24: e50b3010 str r3, [fp, #-16]
28: e3a03456 mov r3, #1442840576 ; 0x56000000
2c: e2833054 add r3, r3, #84 ; 0x54
30: e50b3014 str r3, [fp, #-20]
34: e51b2010 ldr r2, [fp, #-16]
38: e3a03c01 mov r3, #256 ; 0x100
3c: e5823000 str r3, [r2]
40: e51b2014 ldr r2, [fp, #-20]
44: e3a03000 mov r3, #0 ; 0x0
48: e5823000 str r3, [r2]
4c: e3a03000 mov r3, #0 ; 0x0
50: e1a00003 mov r0, r3
54: e24bd00c sub sp, fp, #12 ; 0xc
58: e89da800 ldmia sp, {fp, sp, pc}
复制代码
回帖
(2)
刘军
2019-3-25 13:26:46
我的反汇编出来也不一样,看编译器及版本了吧,不过即便不完全一样,代码最终的功能也肯定是一样的
需要自己分析了,或者用老师的代码分析,道理一样的就行
我的反汇编出来也不一样,看编译器及版本了吧,不过即便不完全一样,代码最终的功能也肯定是一样的
需要自己分析了,或者用老师的代码分析,道理一样的就行
举报
李微波
2019-3-25 13:41:57
编译器版本问题吧
编译器版本问题吧
举报
更多回帖
rotate(-90deg);
回复
相关问答
韦东山
汇编
使用objdump指令和IDA pro
反汇编
的
结果与
预期不同是哪里出了问题?
2023-05-09
275
反汇编
的原理是什么?为什么需要
反汇编
?
2021-11-05
2989
为什么
用
内联
汇编
调用CPSIE退出临界态系统会被卡住?
2019-11-11
4266
每次
用
J-LINK测试
代码
显示
反汇编
2015-03-11
2607
51单片机如何进行
反汇编
2021-03-12
2022
如何正确获取程序的目标
代码
2021-02-04
1222
可执行映像文件objdump
反汇编
代码
.txt,objdump应该怎么翻译
2016-06-08
2858
怎么对u-boot进行进行
反汇编
?
2019-08-20
3738
dis2000
反汇编
只能得到data段是怎么回事?
2021-09-08
1363
如何对xilinx .jed文件进行
反汇编
?
2019-11-04
3560
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分