Advertisement
Guest User

十二条

a guest
May 14th, 2015
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.44 KB | None | 0 0
  1. int main() {
  2.   400b50:   55                      push   %rbp
  3.   400b51:   48 89 e5                mov    %rsp,%rbp
  4.       vector<int> v = {4, 3, 2, 1};
  5.   400b54:   48 81 ec f0 00 00 00    sub    $0xf0,%rsp
  6.   400b5b:   c7 45 c8 04 00 00 00    movl   $0x4,-0x38(%rbp)
  7.   400b62:   c7 45 cc 03 00 00 00    movl   $0x3,-0x34(%rbp)
  8.   400b69:   c7 45 d0 02 00 00 00    movl   $0x2,-0x30(%rbp)
  9.   400b70:   c7 45 d4 01 00 00 00    movl   $0x1,-0x2c(%rbp)
  10.   400b77:   48 8d 45 c8             lea    -0x38(%rbp),%rax
  11.   400b7b:   48 89 45 d8             mov    %rax,-0x28(%rbp)
  12.   400b7f:   48 c7 45 e0 04 00 00    movq   $0x4,-0x20(%rbp)
  13.   400b86:   00
  14.   400b87:   48 8d 45 c0             lea    -0x40(%rbp),%rax
  15.   400b8b:   48 89 c7                mov    %rax,%rdi
  16.   400b8e:   48 89 85 28 ff ff ff    mov    %rax,-0xd8(%rbp)
  17.   400b95:   e8 b6 01 00 00          callq  400d50 <std::allocator<int>::allocator()>
  18.   400b9a:   48 8b 75 d8             mov    -0x28(%rbp),%rsi
  19.   400b9e:   48 8b 55 e0             mov    -0x20(%rbp),%rdx
  20.   400ba2:   48 8d 7d e8             lea    -0x18(%rbp),%rdi
  21.   400ba6:   48 8b 8d 28 ff ff ff    mov    -0xd8(%rbp),%rcx
  22.   400bad:   e8 0e 01 00 00          callq  400cc0 <std::vector<int, std::allocator<int> >::vector(std::initializer_list<int>, std::allocator<int> const&)>
  23.   400bb2:   e9 00 00 00 00          jmpq   400bb7 <main+0x67>
  24.   400bb7:   48 8d 7d c0             lea    -0x40(%rbp),%rdi
  25.   400bbb:   e8 b0 01 00 00          callq  400d70 <std::allocator<int>::~allocator()>
  26.   400bc0:   48 8d 7d e8             lea    -0x18(%rbp),%rdi
  27.         set<int> s1(v.begin(), v.end());
  28.   400bc4:   48 89 bd 20 ff ff ff    mov    %rdi,-0xe0(%rbp)
  29.   400bcb:   e8 30 02 00 00          callq  400e00 <std::vector<int, std::allocator<int> >::begin()>
  30.   400bd0:   48 89 85 78 ff ff ff    mov    %rax,-0x88(%rbp)
  31.   400bd7:   48 8b bd 20 ff ff ff    mov    -0xe0(%rbp),%rdi
  32.   400bde:   e8 5d 02 00 00          callq  400e40 <std::vector<int, std::allocator<int> >::end()>
  33.   400be3:   48 89 85 70 ff ff ff    mov    %rax,-0x90(%rbp)
  34.   400bea:   48 8b b5 78 ff ff ff    mov    -0x88(%rbp),%rsi
  35.   400bf1:   48 8d 7d 80             lea    -0x80(%rbp),%rdi
  36.   400bf5:   48 89 c2                mov    %rax,%rdx
  37.   400bf8:   e8 93 01 00 00          callq  400d90 <std::set<int, std::less<int>, std::allocator<int> >::set<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >)>
  38.   400bfd:   e9 00 00 00 00          jmpq   400c02 <main+0xb2>
  39.   400c02:   48 8d 45 e8             lea    -0x18(%rbp),%rax
  40.           set<int> s2({v.begin(), v.end()});
  41.   400c06:   48 89 c7                mov    %rax,%rdi
  42.   400c09:   48 89 85 18 ff ff ff    mov    %rax,-0xe8(%rbp)
  43.   400c10:   e8 eb 01 00 00          callq  400e00 <std::vector<int, std::allocator<int> >::begin()>
  44.   400c15:   48 89 85 38 ff ff ff    mov    %rax,-0xc8(%rbp)
  45.   400c1c:   48 8b bd 18 ff ff ff    mov    -0xe8(%rbp),%rdi
  46.   400c23:   e8 18 02 00 00          callq  400e40 <std::vector<int, std::allocator<int> >::end()>
  47.   400c28:   48 89 85 30 ff ff ff    mov    %rax,-0xd0(%rbp)
  48.   400c2f:   48 8b b5 38 ff ff ff    mov    -0xc8(%rbp),%rsi
  49.   400c36:   48 8d bd 40 ff ff ff    lea    -0xc0(%rbp),%rdi
  50.   400c3d:   48 89 c2                mov    %rax,%rdx
  51.   400c40:   e8 4b 01 00 00          callq  400d90 <std::set<int, std::less<int>, std::allocator<int> >::set<__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >)>
  52.   400c45:   e9 00 00 00 00          jmpq   400c4a <main+0xfa>
  53.   400c4a:   48 8d bd 40 ff ff ff    lea    -0xc0(%rbp),%rdi
  54. }
  55.   400c51:   e8 2a 02 00 00          callq  400e80 <std::set<int, std::less<int>, std::allocator<int> >::~set()>
  56.   400c56:   48 8d 7d 80             lea    -0x80(%rbp),%rdi
  57.   400c5a:   e8 21 02 00 00          callq  400e80 <std::set<int, std::less<int>, std::allocator<int> >::~set()>
  58.   400c5f:   48 8d 7d e8             lea    -0x18(%rbp),%rdi
  59.   400c63:   e8 38 02 00 00          callq  400ea0 <std::vector<int, std::allocator<int> >::~vector()>
  60.   400c68:   b8 00 00 00 00          mov    $0x0,%eax
  61.   400c6d:   48 81 c4 f0 00 00 00    add    $0xf0,%rsp
  62.   400c74:   5d                      pop    %rbp
  63.   400c75:   c3                      retq  
  64.   400c76:   48 8d 7d c0             lea    -0x40(%rbp),%rdi
  65.   400c7a:   89 d1                   mov    %edx,%ecx
  66.   400c7c:   48 89 45 b8             mov    %rax,-0x48(%rbp)
  67.   400c80:   89 4d b4                mov    %ecx,-0x4c(%rbp)
  68.   400c83:   e8 e8 00 00 00          callq  400d70 <std::allocator<int>::~allocator()>
  69.   400c88:   e9 29 00 00 00          jmpq   400cb6 <main+0x166>
  70.   400c8d:   89 d1                   mov    %edx,%ecx
  71.   400c8f:   48 89 45 b8             mov    %rax,-0x48(%rbp)
  72.   400c93:   89 4d b4                mov    %ecx,-0x4c(%rbp)
  73.   400c96:   e9 12 00 00 00          jmpq   400cad <main+0x15d>
  74.   400c9b:   48 8d 7d 80             lea    -0x80(%rbp),%rdi
  75.   400c9f:   89 d1                   mov    %edx,%ecx
  76.   400ca1:   48 89 45 b8             mov    %rax,-0x48(%rbp)
  77.   400ca5:   89 4d b4                mov    %ecx,-0x4c(%rbp)
  78.   400ca8:   e8 d3 01 00 00          callq  400e80 <std::set<int, std::less<int>, std::allocator<int> >::~set()>
  79.   400cad:   48 8d 7d e8             lea    -0x18(%rbp),%rdi
  80.   400cb1:   e8 ea 01 00 00          callq  400ea0 <std::vector<int, std::allocator<int> >::~vector()>
  81.   400cb6:   48 8b 7d b8             mov    -0x48(%rbp),%rdi
  82.   400cba:   e8 91 fd ff ff          callq  400a50 <_Unwind_Resume@plt>
  83.   400cbf:   90                      nop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement