编译器背后的小故事(三)

2014-11-24 11:26:12 · 作者: · 浏览: 6
,%esi
0x0000000000400c33 : mov $0x601300,%edi
0x0000000000400c38 : callq 0x400940 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
0x0000000000400c3d : lea -0x29(%rbp),%rdi
0x0000000000400c41 : callq 0x4009b0 <_ZNSaIcEC1Ev@plt>
0x0000000000400c46 : lea -0x29(%rbp),%rdx
0x0000000000400c4a : lea -0x40(%rbp),%rdi
0x0000000000400c4e : mov $0x400eb2,%esi
0x0000000000400c53 : callq 0x400960 <_ZNSsC1EPKcRKSaIcE@plt>
0x0000000000400c58 : lea -0x29(%rbp),%rdi
0x0000000000400c5c : callq 0x400980 <_ZNSaIcED1Ev@plt>
0x0000000000400c61 : lea -0x40(%rbp),%rdi
0x0000000000400c65 : callq 0x4008f0 <_ZNKSs5c_strEv@plt>
0x0000000000400c6a : mov %rax,-0x48(%rbp)
0x0000000000400c6e : jmp 0x400c8e
0x0000000000400c70 : mov %rax,-0x58(%rbp)
0x0000000000400c74 : mov -0x58(%rbp),%rbx
0x0000000000400c78 : lea -0x29(%rbp),%rdi
0x0000000000400c7c : callq 0x400980 <_ZNSaIcED1Ev@plt>
0x0000000000400c81 : mov %rbx,-0x58(%rbp)
0x0000000000400c85 : mov -0x58(%rbp),%rdi
0x0000000000400c89 : callq 0x4009d0 <_Unwind_Resume@plt>
0x0000000000400c8e : mov -0x48(%rbp),%rax
0x0000000000400c92 : mov %rax,-0x18(%rbp)
0x0000000000400c96 : mov -0x18(%rbp),%rax
0x0000000000400c9a : movl $0xe58ebee7,(%rax)
0x0000000000400ca0 : movw $0xbd9b,0x4(%rax)
0x0000000000400ca6 : movb $0x0,0x6(%rax)
0x0000000000400caa : mov $0x400eb9,%esi
0x0000000000400caf : mov $0x601300,%edi
0x0000000000400cb4 : callq 0x400940 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
0x0000000000400cb9 : mov %rax,%rdi
0x0000000000400cbc : mov $0x400e6c,%esi
0x0000000000400cc1 : callq 0x400940 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
0x0000000000400cc6 : mov %rax,%rdi
0x0000000000400cc9 : lea -0x40(%rbp),%rsi
0x0000000000400ccd : callq 0x400970 <_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@plt>
0x0000000000400cd2 : mov %rax,%rdi
0x0000000000400cd5 : mov $0x400e79,%esi
0x0000000000400cda : callq 0x400940 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
0x0000000000400cdf : mov %rax,%rdi
0x0000000000400ce2 : mov -0x18(%rbp),%rsi
0x0000000000400ce6 : callq 0x400940 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
0x0000000000400ceb : mov %rax,%rdi
0x0000000000400cee : mov $0x4009a0,%esi
0x0000000000400cf3 : callq 0x400990 <_ZNSolsEPFRSoS_E@plt>
0x0000000000400cf8 : mov $0x0,%ebx
0x0000000000400cfd : lea -0x40(%rbp),%rdi
0x0000000000400d01 : callq 0x400950 <_ZNSsD1Ev@plt>
0x0000000000400d06 : mov %ebx,-0x4c(%rbp)
0x0000000000400d09 : jmp 0x400d29
0x0000000000400d0b : mov %rax,-0x58(%rbp)
0x0000000000400d0f : mov -0x58(%rbp),%rbx
0x0000000000400d13 : lea -0x40(%rbp),%rdi
0x0000000000400d17 : callq 0x400950 <_ZNSsD1Ev@plt>
0x0000000000400d1c : mov %rbx,-0x58(%rbp)
0x0000000000400d20 : mov -0x58(%rbp),%rdi
0x0000000000400d24 : callq 0x4009d0 <_Unwind_Resume@plt>
0x0000000000400d29 : mov -0x4c(%rbp),%eax
0x0000000000400d2c : add $0x50,%rsp
0x0000000000400d30 : pop %rbx
0x0000000000400d31 : pop %r12
0x0000000000400d33 : leaveq
0x0000000000400d34 : retq