GCC编译器原理(二)------编译原理一:目标文件

发布者:huanran最新更新时间:2024-08-22 来源: cnblogs关键字:GCC编译器  编译原理  目标文件 手机看文章 扫描二维码
随时随地手机看文章

 86   4004c1:   74 15                   je     4004d8

 87   4004c3:   b8 00 00 00 00          mov    $0x0,%eax

 88   4004c8:   48 85 c0                test   %rax,%rax

 89   4004cb:   74 0b                   je     4004d8

 90   4004cd:   5d                      pop    %rbp

 91   4004ce:   bf 38 10 60 00          mov    $0x601038,%edi

 92   4004d3:   ff e0                   jmpq   *%rax

 93   4004d5:   0f 1f 00                nopl   (%rax)

 94   4004d8:   5d                      pop    %rbp

 95   4004d9:   c3                      retq   

 96   4004da:   66 0f 1f 44 00 00       nopw   0x0(%rax,%rax,1)

 97 

 98 00000000004004e0 <__do_global_dtors_aux>:

 99   4004e0:   80 3d 51 0b 20 00 00    cmpb   $0x0,0x200b51(%rip)        # 601038 <__TMC_END__>

100   4004e7:   75 11                   jne    4004fa <__do_global_dtors_aux+0x1a>

101   4004e9:   55                      push   %rbp

102   4004ea:   48 89 e5                mov    %rsp,%rbp

103   4004ed:   e8 6e ff ff ff          callq  400460

104   4004f2:   5d                      pop    %rbp

105   4004f3:   c6 05 3e 0b 20 00 01    movb   $0x1,0x200b3e(%rip)        # 601038 <__TMC_END__>

106   4004fa:   f3 c3                   repz retq 

107   4004fc:   0f 1f 40 00             nopl   0x0(%rax)

108 

109 0000000000400500 :

110   400500:   bf 20 0e 60 00          mov    $0x600e20,%edi

111   400505:   48 83 3f 00             cmpq   $0x0,(%rdi)

112   400509:   75 05                   jne    400510

113   40050b:   eb 93                   jmp    4004a0

114   40050d:   0f 1f 00                nopl   (%rax)

115   400510:   b8 00 00 00 00          mov    $0x0,%eax

116   400515:   48 85 c0                test   %rax,%rax

117   400518:   74 f1                   je     40050b

118   40051a:   55                      push   %rbp

119   40051b:   48 89 e5                mov    %rsp,%rbp

120   40051e:   ff d0                   callq  *%rax

121   400520:   5d                      pop    %rbp

122   400521:   e9 7a ff ff ff          jmpq   4004a0

123 

124 0000000000400526

:

125   400526:   55                      push   %rbp

126   400527:   48 89 e5                mov    %rsp,%rbp

127   40052a:   48 83 ec 10             sub    $0x10,%rsp

128   40052e:   89 7d fc                mov    %edi,-0x4(%rbp)

129   400531:   48 89 75 f0             mov    %rsi,-0x10(%rbp)

130   400535:   bf d4 05 40 00          mov    $0x4005d4,%edi

131   40053a:   e8 c1 fe ff ff          callq  400400

132   40053f:   b8 00 00 00 00          mov    $0x0,%eax

133   400544:   c9                      leaveq 

134   400545:   c3                      retq   

135   400546:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)

136   40054d:   00 00 00 

137 

138 0000000000400550 <__libc_csu_init>:

139   400550:   41 57                   push   %r15

140   400552:   41 56                   push   %r14

141   400554:   41 89 ff                mov    %edi,%r15d

142   400557:   41 55                   push   %r13

143   400559:   41 54                   push   %r12

144   40055b:   4c 8d 25 ae 08 20 00    lea    0x2008ae(%rip),%r12        # 600e10 <__frame_dummy_init_array_entry>

145   400562:   55                      push   %rbp

146   400563:   48 8d 2d ae 08 20 00    lea    0x2008ae(%rip),%rbp        # 600e18 <__init_array_end>

147   40056a:   53                      push   %rbx

148   40056b:   49 89 f6                mov    %rsi,%r14

149   40056e:   49 89 d5                mov    %rdx,%r13

150   400571:   4c 29 e5                sub    %r12,%rbp

151   400574:   48 83 ec 08             sub    $0x8,%rsp

152   400578:   48 c1 fd 03             sar    $0x3,%rbp

153   40057c:   e8 47 fe ff ff          callq  4003c8 <_init>

154   400581:   48 85 ed                test   %rbp,%rbp

155   400584:   74 20                   je     4005a6 <__libc_csu_init+0x56>

156   400586:   31 db                   xor    %ebx,%ebx

157   400588:   0f 1f 84 00 00 00 00    nopl   0x0(%rax,%rax,1)

158   40058f:   00 

159   400590:   4c 89 ea                mov    %r13,%rdx

160   400593:   4c 89 f6                mov    %r14,%rsi

161   400596:   44 89 ff                mov    %r15d,%edi

162   400599:   41 ff 14 dc             callq  *(%r12,%rbx,8)

163   40059d:   48 83 c3 01             add    $0x1,%rbx

164   4005a1:   48 39 eb                cmp    %rbp,%rbx

165   4005a4:   75 ea                   jne    400590 <__libc_csu_init+0x40>

166   4005a6:   48 83 c4 08             add    $0x8,%rsp

167   4005aa:   5b                      pop    %rbx

168   4005ab:   5d                      pop    %rbp

[1] [2] [3] [4] [5] [6]
关键字:GCC编译器  编译原理  目标文件 引用地址:GCC编译器原理(二)------编译原理一:目标文件

上一篇:GCC编译器原理(二)------编译原理一:ELF文件(1)
下一篇:GCC编译器原理(一)05------GCC 工具:readelf、size、strings、strip和 windres

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved