Embedded 版 (精华区)

发信人: embeddedsys (选择·喜欢), 信区: Embedded_system
标  题: 使用WIN32环境下的gcc及GNU 9(转载) 
发信站: 哈工大紫丁香 (2003年03月27日09:19:23 星期四), 站内信件

发信人: sunno (民工☆五月天高人浮躁), 信区: Embedded
标  题: 使用WIN32环境下的gcc及GNU 9(转载)
发信站: BBS 水木清华站 (Tue Jul  4 04:38:10 2000)

(转载自笑书亭)

最后可通过命令行
● objdump -d cprogram.exe
可看到最终的执行代码及相应的反汇编代码及重定位信息的回填情况:
绝对内存地址 机器代码      反汇编代码
00401000 <_mainCRTStartup>:
401000: 55 push %ebp
...
00401040 <_addition>:
401040: 8b 44 24 04 mov 0x4(%esp,1),%eax
401044: 89 c1 mov %eax,%ecx
401046: b8 00 00 00 00 mov $0x0,%eax
...
00401080 <_main>:
401080: 55 push %ebp
401081: 89 e5 mov %esp,%ebp
401083: 83 ec 10 sub $0x10,%esp
401086: e8 c1 01 00 00 call 40124c <___main>
40108b: 68 50 10 40 00 push $0x401050
401090: e8 c7 01 00 00 call 40125c <_printf>
401095: 83 c4 04 add $0x4,%esp
401098: 8d 45 fc lea 0xfffffffc(%ebp),%eax
40109b: 50 push %eax
40109c: 68 69 10 40 00 push $0x401069
4010a1: e8 ae 01 00 00 call 401254 <_scanf>
4010a6: 83 c4 08 add $0x8,%esp
4010a9: 8b 45 fc mov 0xfffffffc(%ebp),%eax
4010ac: 50 push %eax
4010ad: e8 8e ff ff ff call 401040 <_addition> //4010b2 +ffffff8e=401040
4010b2: 83 c4 04 add $0x4,%esp
4010b5: 89 c0 mov %eax,%eax
4010b7: 50 push %eax
4010b8: 68 6c 10 40 00 push $0x40106c
4010bd: e8 9a 01 00 00 call 40125c <_printf>
4010c2: 83 c4 08 add $0x8,%esp
4010c5: 89 ec mov %ebp,%esp
4010c7: 5d pop %ebp
4010c8: c3 ret
4010c9: 00 00 add %al,(%eax)
...
0040125c <_printf>:
40125c: ff 25 98 40 40 jmp *0x404098
401261: 00
401262: 90 nop
401263: 90 nop

--

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.250.5]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.757毫秒