Ai
1 Star 0 Fork 0

博尔特烦恼/hello-elf

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.S 34.75 KB
一键复制 编辑 原始数据 按行查看 历史
博尔特烦恼 提交于 2020-12-17 17:35 +08:00 . hello test gitlab aliyun
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
main: file format elf64-x86-64
Disassembly of section .init:
0000000000000710 <_init>:
710: 48 83 ec 08 sub $0x8,%rsp
714: 48 8b 05 cd 18 20 00 mov 0x2018cd(%rip),%rax # 201fe8 <__gmon_start__>
71b: 48 85 c0 test %rax,%rax
71e: 74 02 je 722 <_init+0x12>
720: ff d0 callq *%rax
722: 48 83 c4 08 add $0x8,%rsp
726: c3 retq
Disassembly of section .plt:
0000000000000730 <.plt>:
730: ff 35 42 18 20 00 pushq 0x201842(%rip) # 201f78 <_GLOBAL_OFFSET_TABLE_+0x8>
736: ff 25 44 18 20 00 jmpq *0x201844(%rip) # 201f80 <_GLOBAL_OFFSET_TABLE_+0x10>
73c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000000740 <putchar@plt>:
740: ff 25 42 18 20 00 jmpq *0x201842(%rip) # 201f88 <putchar@GLIBC_2.2.5>
746: 68 00 00 00 00 pushq $0x0
74b: e9 e0 ff ff ff jmpq 730 <.plt>
0000000000000750 <puts@plt>:
750: ff 25 3a 18 20 00 jmpq *0x20183a(%rip) # 201f90 <puts@GLIBC_2.2.5>
756: 68 01 00 00 00 pushq $0x1
75b: e9 d0 ff ff ff jmpq 730 <.plt>
0000000000000760 <fread@plt>:
760: ff 25 32 18 20 00 jmpq *0x201832(%rip) # 201f98 <fread@GLIBC_2.2.5>
766: 68 02 00 00 00 pushq $0x2
76b: e9 c0 ff ff ff jmpq 730 <.plt>
0000000000000770 <__stack_chk_fail@plt>:
770: ff 25 2a 18 20 00 jmpq *0x20182a(%rip) # 201fa0 <__stack_chk_fail@GLIBC_2.4>
776: 68 03 00 00 00 pushq $0x3
77b: e9 b0 ff ff ff jmpq 730 <.plt>
0000000000000780 <printf@plt>:
780: ff 25 22 18 20 00 jmpq *0x201822(%rip) # 201fa8 <printf@GLIBC_2.2.5>
786: 68 04 00 00 00 pushq $0x4
78b: e9 a0 ff ff ff jmpq 730 <.plt>
0000000000000790 <rewind@plt>:
790: ff 25 1a 18 20 00 jmpq *0x20181a(%rip) # 201fb0 <rewind@GLIBC_2.2.5>
796: 68 05 00 00 00 pushq $0x5
79b: e9 90 ff ff ff jmpq 730 <.plt>
00000000000007a0 <malloc@plt>:
7a0: ff 25 12 18 20 00 jmpq *0x201812(%rip) # 201fb8 <malloc@GLIBC_2.2.5>
7a6: 68 06 00 00 00 pushq $0x6
7ab: e9 80 ff ff ff jmpq 730 <.plt>
00000000000007b0 <fseek@plt>:
7b0: ff 25 0a 18 20 00 jmpq *0x20180a(%rip) # 201fc0 <fseek@GLIBC_2.2.5>
7b6: 68 07 00 00 00 pushq $0x7
7bb: e9 70 ff ff ff jmpq 730 <.plt>
00000000000007c0 <fopen@plt>:
7c0: ff 25 02 18 20 00 jmpq *0x201802(%rip) # 201fc8 <fopen@GLIBC_2.2.5>
7c6: 68 08 00 00 00 pushq $0x8
7cb: e9 60 ff ff ff jmpq 730 <.plt>
00000000000007d0 <exit@plt>:
7d0: ff 25 fa 17 20 00 jmpq *0x2017fa(%rip) # 201fd0 <exit@GLIBC_2.2.5>
7d6: 68 09 00 00 00 pushq $0x9
7db: e9 50 ff ff ff jmpq 730 <.plt>
Disassembly of section .plt.got:
00000000000007e0 <__cxa_finalize@plt>:
7e0: ff 25 12 18 20 00 jmpq *0x201812(%rip) # 201ff8 <__cxa_finalize@GLIBC_2.2.5>
7e6: 66 90 xchg %ax,%ax
Disassembly of section .text:
00000000000007f0 <_start>:
7f0: 31 ed xor %ebp,%ebp
7f2: 49 89 d1 mov %rdx,%r9
7f5: 5e pop %rsi
7f6: 48 89 e2 mov %rsp,%rdx
7f9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
7fd: 50 push %rax
7fe: 54 push %rsp
7ff: 4c 8d 05 ba 09 00 00 lea 0x9ba(%rip),%r8 # 11c0 <__libc_csu_fini>
806: 48 8d 0d 43 09 00 00 lea 0x943(%rip),%rcx # 1150 <__libc_csu_init>
80d: 48 8d 3d 06 01 00 00 lea 0x106(%rip),%rdi # 91a <main>
814: ff 15 c6 17 20 00 callq *0x2017c6(%rip) # 201fe0 <__libc_start_main@GLIBC_2.2.5>
81a: f4 hlt
81b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
0000000000000820 <deregister_tm_clones>:
820: 48 8d 3d f1 17 20 00 lea 0x2017f1(%rip),%rdi # 202018 <__TMC_END__>
827: 55 push %rbp
828: 48 8d 05 e9 17 20 00 lea 0x2017e9(%rip),%rax # 202018 <__TMC_END__>
82f: 48 39 f8 cmp %rdi,%rax
832: 48 89 e5 mov %rsp,%rbp
835: 74 19 je 850 <deregister_tm_clones+0x30>
837: 48 8b 05 9a 17 20 00 mov 0x20179a(%rip),%rax # 201fd8 <_ITM_deregisterTMCloneTable>
83e: 48 85 c0 test %rax,%rax
841: 74 0d je 850 <deregister_tm_clones+0x30>
843: 5d pop %rbp
844: ff e0 jmpq *%rax
846: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
84d: 00 00 00
850: 5d pop %rbp
851: c3 retq
852: 0f 1f 40 00 nopl 0x0(%rax)
856: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
85d: 00 00 00
0000000000000860 <register_tm_clones>:
860: 48 8d 3d b1 17 20 00 lea 0x2017b1(%rip),%rdi # 202018 <__TMC_END__>
867: 48 8d 35 aa 17 20 00 lea 0x2017aa(%rip),%rsi # 202018 <__TMC_END__>
86e: 55 push %rbp
86f: 48 29 fe sub %rdi,%rsi
872: 48 89 e5 mov %rsp,%rbp
875: 48 c1 fe 03 sar $0x3,%rsi
879: 48 89 f0 mov %rsi,%rax
87c: 48 c1 e8 3f shr $0x3f,%rax
880: 48 01 c6 add %rax,%rsi
883: 48 d1 fe sar %rsi
886: 74 18 je 8a0 <register_tm_clones+0x40>
888: 48 8b 05 61 17 20 00 mov 0x201761(%rip),%rax # 201ff0 <_ITM_registerTMCloneTable>
88f: 48 85 c0 test %rax,%rax
892: 74 0c je 8a0 <register_tm_clones+0x40>
894: 5d pop %rbp
895: ff e0 jmpq *%rax
897: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1)
89e: 00 00
8a0: 5d pop %rbp
8a1: c3 retq
8a2: 0f 1f 40 00 nopl 0x0(%rax)
8a6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
8ad: 00 00 00
00000000000008b0 <__do_global_dtors_aux>:
8b0: 80 3d 5d 17 20 00 00 cmpb $0x0,0x20175d(%rip) # 202014 <_edata>
8b7: 75 2f jne 8e8 <__do_global_dtors_aux+0x38>
8b9: 48 83 3d 37 17 20 00 cmpq $0x0,0x201737(%rip) # 201ff8 <__cxa_finalize@GLIBC_2.2.5>
8c0: 00
8c1: 55 push %rbp
8c2: 48 89 e5 mov %rsp,%rbp
8c5: 74 0c je 8d3 <__do_global_dtors_aux+0x23>
8c7: 48 8b 3d 3a 17 20 00 mov 0x20173a(%rip),%rdi # 202008 <__dso_handle>
8ce: e8 0d ff ff ff callq 7e0 <__cxa_finalize@plt>
8d3: e8 48 ff ff ff callq 820 <deregister_tm_clones>
8d8: c6 05 35 17 20 00 01 movb $0x1,0x201735(%rip) # 202014 <_edata>
8df: 5d pop %rbp
8e0: c3 retq
8e1: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
8e8: f3 c3 repz retq
8ea: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
00000000000008f0 <frame_dummy>:
8f0: 55 push %rbp
8f1: 48 89 e5 mov %rsp,%rbp
8f4: 5d pop %rbp
8f5: e9 66 ff ff ff jmpq 860 <register_tm_clones>
00000000000008fa <test>:
8fa: 55 push %rbp
8fb: 48 89 e5 mov %rsp,%rbp
8fe: 48 8d 05 cf 08 00 00 lea 0x8cf(%rip),%rax # 11d4 <_IO_stdin_used+0x4>
905: 48 89 45 f8 mov %rax,-0x8(%rbp)
909: c7 05 fd 16 20 00 03 movl $0x3,0x2016fd(%rip) # 202010 <a>
910: 00 00 00
913: b8 00 00 00 00 mov $0x0,%eax
918: 5d pop %rbp
919: c3 retq
000000000000091a <main>:
91a: 55 push %rbp
91b: 48 89 e5 mov %rsp,%rbp
91e: 41 57 push %r15
920: 41 56 push %r14
922: 41 55 push %r13
924: 41 54 push %r12
926: 53 push %rbx
927: 48 81 ec d8 00 00 00 sub $0xd8,%rsp
92e: 89 bd 2c ff ff ff mov %edi,-0xd4(%rbp)
934: 48 89 b5 20 ff ff ff mov %rsi,-0xe0(%rbp)
93b: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax
942: 00 00
944: 48 89 45 c8 mov %rax,-0x38(%rbp)
948: 31 c0 xor %eax,%eax
94a: 48 89 e0 mov %rsp,%rax
94d: 48 89 c3 mov %rax,%rbx
950: 83 bd 2c ff ff ff 01 cmpl $0x1,-0xd4(%rbp)
957: 7f 16 jg 96f <main+0x55>
959: 48 8d 3d 80 08 00 00 lea 0x880(%rip),%rdi # 11e0 <_IO_stdin_used+0x10>
960: e8 eb fd ff ff callq 750 <puts@plt>
965: bf 00 00 00 00 mov $0x0,%edi
96a: e8 61 fe ff ff callq 7d0 <exit@plt>
96f: 48 8b 85 20 ff ff ff mov -0xe0(%rbp),%rax
976: 48 83 c0 08 add $0x8,%rax
97a: 48 8b 00 mov (%rax),%rax
97d: 48 8d 35 6e 08 00 00 lea 0x86e(%rip),%rsi # 11f2 <_IO_stdin_used+0x22>
984: 48 89 c7 mov %rax,%rdi
987: e8 34 fe ff ff callq 7c0 <fopen@plt>
98c: 48 89 85 40 ff ff ff mov %rax,-0xc0(%rbp)
993: 48 83 bd 40 ff ff ff cmpq $0x0,-0xc0(%rbp)
99a: 00
99b: 75 1b jne 9b8 <main+0x9e>
99d: 48 8d 3d 50 08 00 00 lea 0x850(%rip),%rdi # 11f4 <_IO_stdin_used+0x24>
9a4: b8 00 00 00 00 mov $0x0,%eax
9a9: e8 d2 fd ff ff callq 780 <printf@plt>
9ae: bf 00 00 00 00 mov $0x0,%edi
9b3: e8 18 fe ff ff callq 7d0 <exit@plt>
9b8: 48 8b 95 40 ff ff ff mov -0xc0(%rbp),%rdx
9bf: 48 8d 45 80 lea -0x80(%rbp),%rax
9c3: 48 89 d1 mov %rdx,%rcx
9c6: ba 01 00 00 00 mov $0x1,%edx
9cb: be 40 00 00 00 mov $0x40,%esi
9d0: 48 89 c7 mov %rax,%rdi
9d3: e8 88 fd ff ff callq 760 <fread@plt>
9d8: 89 85 3c ff ff ff mov %eax,-0xc4(%rbp)
9de: 83 bd 3c ff ff ff 00 cmpl $0x0,-0xc4(%rbp)
9e5: 75 16 jne 9fd <main+0xe3>
9e7: 48 8d 3d 1c 08 00 00 lea 0x81c(%rip),%rdi # 120a <_IO_stdin_used+0x3a>
9ee: e8 5d fd ff ff callq 750 <puts@plt>
9f3: bf 00 00 00 00 mov $0x0,%edi
9f8: e8 d3 fd ff ff callq 7d0 <exit@plt>
9fd: 0f b6 45 80 movzbl -0x80(%rbp),%eax
a01: 3c 7f cmp $0x7f,%al
a03: 75 18 jne a1d <main+0x103>
a05: 0f b6 45 81 movzbl -0x7f(%rbp),%eax
a09: 3c 45 cmp $0x45,%al
a0b: 75 10 jne a1d <main+0x103>
a0d: 0f b6 45 82 movzbl -0x7e(%rbp),%eax
a11: 3c 4c cmp $0x4c,%al
a13: 75 08 jne a1d <main+0x103>
a15: 0f b6 45 83 movzbl -0x7d(%rbp),%eax
a19: 3c 46 cmp $0x46,%al
a1b: 74 16 je a33 <main+0x119>
a1d: 48 8d 3d f8 07 00 00 lea 0x7f8(%rip),%rdi # 121c <_IO_stdin_used+0x4c>
a24: e8 27 fd ff ff callq 750 <puts@plt>
a29: bf 00 00 00 00 mov $0x0,%edi
a2e: e8 9d fd ff ff callq 7d0 <exit@plt>
a33: 0f b7 45 bc movzwl -0x44(%rbp),%eax
a37: 0f b7 c0 movzwl %ax,%eax
a3a: 48 c1 e0 06 shl $0x6,%rax
a3e: 48 89 c7 mov %rax,%rdi
a41: e8 5a fd ff ff callq 7a0 <malloc@plt>
a46: 48 89 85 48 ff ff ff mov %rax,-0xb8(%rbp)
a4d: 48 83 bd 48 ff ff ff cmpq $0x0,-0xb8(%rbp)
a54: 00
a55: 75 16 jne a6d <main+0x153>
a57: 48 8d 3d cd 07 00 00 lea 0x7cd(%rip),%rdi # 122b <_IO_stdin_used+0x5b>
a5e: e8 ed fc ff ff callq 750 <puts@plt>
a63: bf 00 00 00 00 mov $0x0,%edi
a68: e8 63 fd ff ff callq 7d0 <exit@plt>
a6d: 48 8b 45 a8 mov -0x58(%rbp),%rax
a71: 48 89 c1 mov %rax,%rcx
a74: 48 8b 85 40 ff ff ff mov -0xc0(%rbp),%rax
a7b: ba 00 00 00 00 mov $0x0,%edx
a80: 48 89 ce mov %rcx,%rsi
a83: 48 89 c7 mov %rax,%rdi
a86: e8 25 fd ff ff callq 7b0 <fseek@plt>
a8b: 89 85 3c ff ff ff mov %eax,-0xc4(%rbp)
a91: 83 bd 3c ff ff ff 00 cmpl $0x0,-0xc4(%rbp)
a98: 74 16 je ab0 <main+0x196>
a9a: 48 8d 3d 9d 07 00 00 lea 0x79d(%rip),%rdi # 123e <_IO_stdin_used+0x6e>
aa1: e8 aa fc ff ff callq 750 <puts@plt>
aa6: bf 00 00 00 00 mov $0x0,%edi
aab: e8 20 fd ff ff callq 7d0 <exit@plt>
ab0: 0f b7 45 bc movzwl -0x44(%rbp),%eax
ab4: 0f b7 c0 movzwl %ax,%eax
ab7: 48 c1 e0 06 shl $0x6,%rax
abb: 48 89 c6 mov %rax,%rsi
abe: 48 8b 95 40 ff ff ff mov -0xc0(%rbp),%rdx
ac5: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
acc: 48 89 d1 mov %rdx,%rcx
acf: ba 01 00 00 00 mov $0x1,%edx
ad4: 48 89 c7 mov %rax,%rdi
ad7: e8 84 fc ff ff callq 760 <fread@plt>
adc: 89 85 3c ff ff ff mov %eax,-0xc4(%rbp)
ae2: 83 bd 3c ff ff ff 00 cmpl $0x0,-0xc4(%rbp)
ae9: 75 16 jne b01 <main+0x1e7>
aeb: 48 8d 3d 5c 07 00 00 lea 0x75c(%rip),%rdi # 124e <_IO_stdin_used+0x7e>
af2: e8 59 fc ff ff callq 750 <puts@plt>
af7: bf 00 00 00 00 mov $0x0,%edi
afc: e8 cf fc ff ff callq 7d0 <exit@plt>
b01: 48 8b 85 40 ff ff ff mov -0xc0(%rbp),%rax
b08: 48 89 c7 mov %rax,%rdi
b0b: e8 80 fc ff ff callq 790 <rewind@plt>
b10: 0f b7 45 be movzwl -0x42(%rbp),%eax
b14: 0f b7 c0 movzwl %ax,%eax
b17: 48 c1 e0 06 shl $0x6,%rax
b1b: 48 89 c2 mov %rax,%rdx
b1e: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
b25: 48 01 d0 add %rdx,%rax
b28: 48 8b 40 18 mov 0x18(%rax),%rax
b2c: 48 89 c1 mov %rax,%rcx
b2f: 48 8b 85 40 ff ff ff mov -0xc0(%rbp),%rax
b36: ba 00 00 00 00 mov $0x0,%edx
b3b: 48 89 ce mov %rcx,%rsi
b3e: 48 89 c7 mov %rax,%rdi
b41: e8 6a fc ff ff callq 7b0 <fseek@plt>
b46: 0f b7 45 be movzwl -0x42(%rbp),%eax
b4a: 0f b7 c0 movzwl %ax,%eax
b4d: 48 c1 e0 06 shl $0x6,%rax
b51: 48 89 c2 mov %rax,%rdx
b54: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
b5b: 48 01 d0 add %rdx,%rax
b5e: 48 8b 40 20 mov 0x20(%rax),%rax
b62: 48 89 c2 mov %rax,%rdx
b65: 48 83 ea 01 sub $0x1,%rdx
b69: 48 89 95 50 ff ff ff mov %rdx,-0xb0(%rbp)
b70: 48 89 85 10 ff ff ff mov %rax,-0xf0(%rbp)
b77: 48 c7 85 18 ff ff ff movq $0x0,-0xe8(%rbp)
b7e: 00 00 00 00
b82: 48 89 85 00 ff ff ff mov %rax,-0x100(%rbp)
b89: 48 c7 85 08 ff ff ff movq $0x0,-0xf8(%rbp)
b90: 00 00 00 00
b94: ba 10 00 00 00 mov $0x10,%edx
b99: 48 83 ea 01 sub $0x1,%rdx
b9d: 48 01 d0 add %rdx,%rax
ba0: b9 10 00 00 00 mov $0x10,%ecx
ba5: ba 00 00 00 00 mov $0x0,%edx
baa: 48 f7 f1 div %rcx
bad: 48 6b c0 10 imul $0x10,%rax,%rax
bb1: 48 29 c4 sub %rax,%rsp
bb4: 48 89 e0 mov %rsp,%rax
bb7: 48 83 c0 00 add $0x0,%rax
bbb: 48 89 85 58 ff ff ff mov %rax,-0xa8(%rbp)
bc2: 48 8b 85 58 ff ff ff mov -0xa8(%rbp),%rax
bc9: 48 89 85 60 ff ff ff mov %rax,-0xa0(%rbp)
bd0: 0f b7 45 be movzwl -0x42(%rbp),%eax
bd4: 0f b7 c0 movzwl %ax,%eax
bd7: 48 c1 e0 06 shl $0x6,%rax
bdb: 48 89 c2 mov %rax,%rdx
bde: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
be5: 48 01 d0 add %rdx,%rax
be8: 48 8b 70 20 mov 0x20(%rax),%rsi
bec: 48 8b 85 58 ff ff ff mov -0xa8(%rbp),%rax
bf3: 48 8b 95 40 ff ff ff mov -0xc0(%rbp),%rdx
bfa: 48 89 d1 mov %rdx,%rcx
bfd: ba 01 00 00 00 mov $0x1,%edx
c02: 48 89 c7 mov %rax,%rdi
c05: e8 56 fb ff ff callq 760 <fread@plt>
c0a: 89 85 3c ff ff ff mov %eax,-0xc4(%rbp)
c10: 83 bd 3c ff ff ff 00 cmpl $0x0,-0xc4(%rbp)
c17: 75 0c jne c25 <main+0x30b>
c19: 48 8d 3d 44 06 00 00 lea 0x644(%rip),%rdi # 1264 <_IO_stdin_used+0x94>
c20: e8 2b fb ff ff callq 750 <puts@plt>
c25: 0f b7 45 b8 movzwl -0x48(%rbp),%eax
c29: 0f b7 d0 movzwl %ax,%edx
c2c: 48 89 d0 mov %rdx,%rax
c2f: 48 c1 e0 03 shl $0x3,%rax
c33: 48 29 d0 sub %rdx,%rax
c36: 48 c1 e0 03 shl $0x3,%rax
c3a: 48 89 c7 mov %rax,%rdi
c3d: e8 5e fb ff ff callq 7a0 <malloc@plt>
c42: 48 89 85 68 ff ff ff mov %rax,-0x98(%rbp)
c49: 48 8b 45 a0 mov -0x60(%rbp),%rax
c4d: 48 89 c1 mov %rax,%rcx
c50: 48 8b 85 40 ff ff ff mov -0xc0(%rbp),%rax
c57: ba 00 00 00 00 mov $0x0,%edx
c5c: 48 89 ce mov %rcx,%rsi
c5f: 48 89 c7 mov %rax,%rdi
c62: e8 49 fb ff ff callq 7b0 <fseek@plt>
c67: 89 85 3c ff ff ff mov %eax,-0xc4(%rbp)
c6d: 0f b7 45 b8 movzwl -0x48(%rbp),%eax
c71: 0f b7 d0 movzwl %ax,%edx
c74: 48 89 d0 mov %rdx,%rax
c77: 48 c1 e0 03 shl $0x3,%rax
c7b: 48 29 d0 sub %rdx,%rax
c7e: 48 c1 e0 03 shl $0x3,%rax
c82: 48 89 c6 mov %rax,%rsi
c85: 48 8b 95 40 ff ff ff mov -0xc0(%rbp),%rdx
c8c: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
c93: 48 89 d1 mov %rdx,%rcx
c96: ba 01 00 00 00 mov $0x1,%edx
c9b: 48 89 c7 mov %rax,%rdi
c9e: e8 bd fa ff ff callq 760 <fread@plt>
ca3: 89 85 3c ff ff ff mov %eax,-0xc4(%rbp)
ca9: 48 8b 85 40 ff ff ff mov -0xc0(%rbp),%rax
cb0: 48 89 c7 mov %rax,%rdi
cb3: e8 d8 fa ff ff callq 790 <rewind@plt>
cb8: 0f b7 45 ba movzwl -0x46(%rbp),%eax
cbc: 0f b7 d0 movzwl %ax,%edx
cbf: 48 89 d0 mov %rdx,%rax
cc2: 48 c1 e0 03 shl $0x3,%rax
cc6: 48 29 d0 sub %rdx,%rax
cc9: 48 c1 e0 03 shl $0x3,%rax
ccd: 48 89 c2 mov %rax,%rdx
cd0: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
cd7: 48 01 d0 add %rdx,%rax
cda: 48 8b 40 08 mov 0x8(%rax),%rax
cde: 48 89 c1 mov %rax,%rcx
ce1: 48 8b 85 40 ff ff ff mov -0xc0(%rbp),%rax
ce8: ba 00 00 00 00 mov $0x0,%edx
ced: 48 89 ce mov %rcx,%rsi
cf0: 48 89 c7 mov %rax,%rdi
cf3: e8 b8 fa ff ff callq 7b0 <fseek@plt>
cf8: 0f b7 45 ba movzwl -0x46(%rbp),%eax
cfc: 0f b7 d0 movzwl %ax,%edx
cff: 48 89 d0 mov %rdx,%rax
d02: 48 c1 e0 03 shl $0x3,%rax
d06: 48 29 d0 sub %rdx,%rax
d09: 48 c1 e0 03 shl $0x3,%rax
d0d: 48 89 c2 mov %rax,%rdx
d10: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
d17: 48 01 d0 add %rdx,%rax
d1a: 48 8b 40 20 mov 0x20(%rax),%rax
d1e: 48 89 c2 mov %rax,%rdx
d21: 48 83 ea 01 sub $0x1,%rdx
d25: 48 89 95 70 ff ff ff mov %rdx,-0x90(%rbp)
d2c: 49 89 c6 mov %rax,%r14
d2f: 41 bf 00 00 00 00 mov $0x0,%r15d
d35: 49 89 c4 mov %rax,%r12
d38: 41 bd 00 00 00 00 mov $0x0,%r13d
d3e: ba 10 00 00 00 mov $0x10,%edx
d43: 48 83 ea 01 sub $0x1,%rdx
d47: 48 01 d0 add %rdx,%rax
d4a: b9 10 00 00 00 mov $0x10,%ecx
d4f: ba 00 00 00 00 mov $0x0,%edx
d54: 48 f7 f1 div %rcx
d57: 48 6b c0 10 imul $0x10,%rax,%rax
d5b: 48 29 c4 sub %rax,%rsp
d5e: 48 89 e0 mov %rsp,%rax
d61: 48 83 c0 00 add $0x0,%rax
d65: 48 89 85 78 ff ff ff mov %rax,-0x88(%rbp)
d6c: 0f b7 45 ba movzwl -0x46(%rbp),%eax
d70: 0f b7 d0 movzwl %ax,%edx
d73: 48 89 d0 mov %rdx,%rax
d76: 48 c1 e0 03 shl $0x3,%rax
d7a: 48 29 d0 sub %rdx,%rax
d7d: 48 c1 e0 03 shl $0x3,%rax
d81: 48 89 c2 mov %rax,%rdx
d84: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
d8b: 48 01 d0 add %rdx,%rax
d8e: 48 8b 70 20 mov 0x20(%rax),%rsi
d92: 48 8b 85 78 ff ff ff mov -0x88(%rbp),%rax
d99: 48 8b 95 40 ff ff ff mov -0xc0(%rbp),%rdx
da0: 48 89 d1 mov %rdx,%rcx
da3: ba 01 00 00 00 mov $0x1,%edx
da8: 48 89 c7 mov %rax,%rdi
dab: e8 b0 f9 ff ff callq 760 <fread@plt>
db0: 89 85 3c ff ff ff mov %eax,-0xc4(%rbp)
db6: 48 8d 3d b6 04 00 00 lea 0x4b6(%rip),%rdi # 1273 <_IO_stdin_used+0xa3>
dbd: e8 8e f9 ff ff callq 750 <puts@plt>
dc2: c7 85 38 ff ff ff 00 movl $0x0,-0xc8(%rbp)
dc9: 00 00 00
dcc: e9 30 03 00 00 jmpq 1101 <main+0x7e7>
dd1: 8b 85 38 ff ff ff mov -0xc8(%rbp),%eax
dd7: 89 c6 mov %eax,%esi
dd9: 48 8d 3d a5 04 00 00 lea 0x4a5(%rip),%rdi # 1285 <_IO_stdin_used+0xb5>
de0: b8 00 00 00 00 mov $0x0,%eax
de5: e8 96 f9 ff ff callq 780 <printf@plt>
dea: 8b 85 38 ff ff ff mov -0xc8(%rbp),%eax
df0: 48 63 d0 movslq %eax,%rdx
df3: 48 89 d0 mov %rdx,%rax
df6: 48 c1 e0 03 shl $0x3,%rax
dfa: 48 29 d0 sub %rdx,%rax
dfd: 48 c1 e0 03 shl $0x3,%rax
e01: 48 89 c2 mov %rax,%rdx
e04: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
e0b: 48 01 d0 add %rdx,%rax
e0e: 48 8b 40 08 mov 0x8(%rax),%rax
e12: 48 89 c6 mov %rax,%rsi
e15: 48 8d 3d 74 04 00 00 lea 0x474(%rip),%rdi # 1290 <_IO_stdin_used+0xc0>
e1c: b8 00 00 00 00 mov $0x0,%eax
e21: e8 5a f9 ff ff callq 780 <printf@plt>
e26: 8b 85 38 ff ff ff mov -0xc8(%rbp),%eax
e2c: 48 63 d0 movslq %eax,%rdx
e2f: 48 89 d0 mov %rdx,%rax
e32: 48 c1 e0 03 shl $0x3,%rax
e36: 48 29 d0 sub %rdx,%rax
e39: 48 c1 e0 03 shl $0x3,%rax
e3d: 48 89 c2 mov %rax,%rdx
e40: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
e47: 48 01 d0 add %rdx,%rax
e4a: 48 8b 40 28 mov 0x28(%rax),%rax
e4e: 48 89 c6 mov %rax,%rsi
e51: 48 8d 3d 57 04 00 00 lea 0x457(%rip),%rdi # 12af <_IO_stdin_used+0xdf>
e58: b8 00 00 00 00 mov $0x0,%eax
e5d: e8 1e f9 ff ff callq 780 <printf@plt>
e62: 8b 85 38 ff ff ff mov -0xc8(%rbp),%eax
e68: 48 63 d0 movslq %eax,%rdx
e6b: 48 89 d0 mov %rdx,%rax
e6e: 48 c1 e0 03 shl $0x3,%rax
e72: 48 29 d0 sub %rdx,%rax
e75: 48 c1 e0 03 shl $0x3,%rax
e79: 48 89 c2 mov %rax,%rdx
e7c: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
e83: 48 01 d0 add %rdx,%rax
e86: 48 8b 48 28 mov 0x28(%rax),%rcx
e8a: 8b 85 38 ff ff ff mov -0xc8(%rbp),%eax
e90: 48 63 d0 movslq %eax,%rdx
e93: 48 89 d0 mov %rdx,%rax
e96: 48 c1 e0 03 shl $0x3,%rax
e9a: 48 29 d0 sub %rdx,%rax
e9d: 48 c1 e0 03 shl $0x3,%rax
ea1: 48 89 c2 mov %rax,%rdx
ea4: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
eab: 48 01 d0 add %rdx,%rax
eae: 48 8b 40 08 mov 0x8(%rax),%rax
eb2: 48 01 c8 add %rcx,%rax
eb5: 48 89 c6 mov %rax,%rsi
eb8: 48 8d 3d 09 04 00 00 lea 0x409(%rip),%rdi # 12c8 <_IO_stdin_used+0xf8>
ebf: b8 00 00 00 00 mov $0x0,%eax
ec4: e8 b7 f8 ff ff callq 780 <printf@plt>
ec9: 48 8d 3d 17 04 00 00 lea 0x417(%rip),%rdi # 12e7 <_IO_stdin_used+0x117>
ed0: e8 7b f8 ff ff callq 750 <puts@plt>
ed5: c7 85 34 ff ff ff 00 movl $0x0,-0xcc(%rbp)
edc: 00 00 00
edf: e9 f9 01 00 00 jmpq 10dd <main+0x7c3>
ee4: 8b 85 34 ff ff ff mov -0xcc(%rbp),%eax
eea: 48 98 cltq
eec: 48 c1 e0 06 shl $0x6,%rax
ef0: 48 89 c2 mov %rax,%rdx
ef3: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
efa: 48 01 d0 add %rdx,%rax
efd: 48 8b 48 18 mov 0x18(%rax),%rcx
f01: 8b 85 38 ff ff ff mov -0xc8(%rbp),%eax
f07: 48 63 d0 movslq %eax,%rdx
f0a: 48 89 d0 mov %rdx,%rax
f0d: 48 c1 e0 03 shl $0x3,%rax
f11: 48 29 d0 sub %rdx,%rax
f14: 48 c1 e0 03 shl $0x3,%rax
f18: 48 89 c2 mov %rax,%rdx
f1b: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
f22: 48 01 d0 add %rdx,%rax
f25: 48 8b 40 08 mov 0x8(%rax),%rax
f29: 48 39 c1 cmp %rax,%rcx
f2c: 0f 86 a4 01 00 00 jbe 10d6 <main+0x7bc>
f32: 8b 85 34 ff ff ff mov -0xcc(%rbp),%eax
f38: 48 98 cltq
f3a: 48 c1 e0 06 shl $0x6,%rax
f3e: 48 89 c2 mov %rax,%rdx
f41: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
f48: 48 01 d0 add %rdx,%rax
f4b: 48 8b 50 18 mov 0x18(%rax),%rdx
f4f: 8b 85 34 ff ff ff mov -0xcc(%rbp),%eax
f55: 48 98 cltq
f57: 48 c1 e0 06 shl $0x6,%rax
f5b: 48 89 c1 mov %rax,%rcx
f5e: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
f65: 48 01 c8 add %rcx,%rax
f68: 48 8b 40 20 mov 0x20(%rax),%rax
f6c: 48 8d 34 02 lea (%rdx,%rax,1),%rsi
f70: 8b 85 38 ff ff ff mov -0xc8(%rbp),%eax
f76: 48 63 d0 movslq %eax,%rdx
f79: 48 89 d0 mov %rdx,%rax
f7c: 48 c1 e0 03 shl $0x3,%rax
f80: 48 29 d0 sub %rdx,%rax
f83: 48 c1 e0 03 shl $0x3,%rax
f87: 48 89 c2 mov %rax,%rdx
f8a: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
f91: 48 01 d0 add %rdx,%rax
f94: 48 8b 48 08 mov 0x8(%rax),%rcx
f98: 8b 85 38 ff ff ff mov -0xc8(%rbp),%eax
f9e: 48 63 d0 movslq %eax,%rdx
fa1: 48 89 d0 mov %rdx,%rax
fa4: 48 c1 e0 03 shl $0x3,%rax
fa8: 48 29 d0 sub %rdx,%rax
fab: 48 c1 e0 03 shl $0x3,%rax
faf: 48 89 c2 mov %rax,%rdx
fb2: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
fb9: 48 01 d0 add %rdx,%rax
fbc: 48 8b 40 28 mov 0x28(%rax),%rax
fc0: 48 01 c8 add %rcx,%rax
fc3: 48 39 c6 cmp %rax,%rsi
fc6: 0f 83 0a 01 00 00 jae 10d6 <main+0x7bc>
fcc: 48 8b 85 58 ff ff ff mov -0xa8(%rbp),%rax
fd3: 48 89 85 60 ff ff ff mov %rax,-0xa0(%rbp)
fda: 8b 85 34 ff ff ff mov -0xcc(%rbp),%eax
fe0: 48 98 cltq
fe2: 48 c1 e0 06 shl $0x6,%rax
fe6: 48 89 c2 mov %rax,%rdx
fe9: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
ff0: 48 01 d0 add %rdx,%rax
ff3: 8b 00 mov (%rax),%eax
ff5: 89 c0 mov %eax,%eax
ff7: 48 01 85 60 ff ff ff add %rax,-0xa0(%rbp)
ffe: 48 8b 85 60 ff ff ff mov -0xa0(%rbp),%rax
1005: 48 89 c6 mov %rax,%rsi
1008: 48 8d 3d f3 02 00 00 lea 0x2f3(%rip),%rdi # 1302 <_IO_stdin_used+0x132>
100f: b8 00 00 00 00 mov $0x0,%eax
1014: e8 67 f7 ff ff callq 780 <printf@plt>
1019: 8b 85 34 ff ff ff mov -0xcc(%rbp),%eax
101f: 48 98 cltq
1021: 48 c1 e0 06 shl $0x6,%rax
1025: 48 89 c2 mov %rax,%rdx
1028: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
102f: 48 01 d0 add %rdx,%rax
1032: 48 8b 40 18 mov 0x18(%rax),%rax
1036: 48 89 c6 mov %rax,%rsi
1039: 48 8d 3d d5 02 00 00 lea 0x2d5(%rip),%rdi # 1315 <_IO_stdin_used+0x145>
1040: b8 00 00 00 00 mov $0x0,%eax
1045: e8 36 f7 ff ff callq 780 <printf@plt>
104a: 8b 85 34 ff ff ff mov -0xcc(%rbp),%eax
1050: 48 98 cltq
1052: 48 c1 e0 06 shl $0x6,%rax
1056: 48 89 c2 mov %rax,%rdx
1059: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
1060: 48 01 d0 add %rdx,%rax
1063: 48 8b 40 20 mov 0x20(%rax),%rax
1067: 48 89 c6 mov %rax,%rsi
106a: 48 8d 3d bc 02 00 00 lea 0x2bc(%rip),%rdi # 132d <_IO_stdin_used+0x15d>
1071: b8 00 00 00 00 mov $0x0,%eax
1076: e8 05 f7 ff ff callq 780 <printf@plt>
107b: 8b 85 34 ff ff ff mov -0xcc(%rbp),%eax
1081: 48 98 cltq
1083: 48 c1 e0 06 shl $0x6,%rax
1087: 48 89 c2 mov %rax,%rdx
108a: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
1091: 48 01 d0 add %rdx,%rax
1094: 48 8b 50 18 mov 0x18(%rax),%rdx
1098: 8b 85 34 ff ff ff mov -0xcc(%rbp),%eax
109e: 48 98 cltq
10a0: 48 c1 e0 06 shl $0x6,%rax
10a4: 48 89 c1 mov %rax,%rcx
10a7: 48 8b 85 48 ff ff ff mov -0xb8(%rbp),%rax
10ae: 48 01 c8 add %rcx,%rax
10b1: 48 8b 40 20 mov 0x20(%rax),%rax
10b5: 48 01 d0 add %rdx,%rax
10b8: 48 89 c6 mov %rax,%rsi
10bb: 48 8d 3d 80 02 00 00 lea 0x280(%rip),%rdi # 1342 <_IO_stdin_used+0x172>
10c2: b8 00 00 00 00 mov $0x0,%eax
10c7: e8 b4 f6 ff ff callq 780 <printf@plt>
10cc: bf 0a 00 00 00 mov $0xa,%edi
10d1: e8 6a f6 ff ff callq 740 <putchar@plt>
10d6: 83 85 34 ff ff ff 01 addl $0x1,-0xcc(%rbp)
10dd: 0f b7 45 bc movzwl -0x44(%rbp),%eax
10e1: 0f b7 c0 movzwl %ax,%eax
10e4: 39 85 34 ff ff ff cmp %eax,-0xcc(%rbp)
10ea: 0f 8c f4 fd ff ff jl ee4 <main+0x5ca>
10f0: bf 0a 00 00 00 mov $0xa,%edi
10f5: e8 46 f6 ff ff callq 740 <putchar@plt>
10fa: 83 85 38 ff ff ff 01 addl $0x1,-0xc8(%rbp)
1101: 0f b7 45 b8 movzwl -0x48(%rbp),%eax
1105: 0f b7 c0 movzwl %ax,%eax
1108: 39 85 38 ff ff ff cmp %eax,-0xc8(%rbp)
110e: 0f 8c bd fc ff ff jl dd1 <main+0x4b7>
1114: bf 0a 00 00 00 mov $0xa,%edi
1119: e8 22 f6 ff ff callq 740 <putchar@plt>
111e: b8 00 00 00 00 mov $0x0,%eax
1123: 48 89 dc mov %rbx,%rsp
1126: 48 8b 5d c8 mov -0x38(%rbp),%rbx
112a: 64 48 33 1c 25 28 00 xor %fs:0x28,%rbx
1131: 00 00
1133: 74 05 je 113a <main+0x820>
1135: e8 36 f6 ff ff callq 770 <__stack_chk_fail@plt>
113a: 48 8d 65 d8 lea -0x28(%rbp),%rsp
113e: 5b pop %rbx
113f: 41 5c pop %r12
1141: 41 5d pop %r13
1143: 41 5e pop %r14
1145: 41 5f pop %r15
1147: 5d pop %rbp
1148: c3 retq
1149: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
0000000000001150 <__libc_csu_init>:
1150: 41 57 push %r15
1152: 41 56 push %r14
1154: 49 89 d7 mov %rdx,%r15
1157: 41 55 push %r13
1159: 41 54 push %r12
115b: 4c 8d 25 0e 0c 20 00 lea 0x200c0e(%rip),%r12 # 201d70 <__frame_dummy_init_array_entry>
1162: 55 push %rbp
1163: 48 8d 2d 0e 0c 20 00 lea 0x200c0e(%rip),%rbp # 201d78 <__init_array_end>
116a: 53 push %rbx
116b: 41 89 fd mov %edi,%r13d
116e: 49 89 f6 mov %rsi,%r14
1171: 4c 29 e5 sub %r12,%rbp
1174: 48 83 ec 08 sub $0x8,%rsp
1178: 48 c1 fd 03 sar $0x3,%rbp
117c: e8 8f f5 ff ff callq 710 <_init>
1181: 48 85 ed test %rbp,%rbp
1184: 74 20 je 11a6 <__libc_csu_init+0x56>
1186: 31 db xor %ebx,%ebx
1188: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
118f: 00
1190: 4c 89 fa mov %r15,%rdx
1193: 4c 89 f6 mov %r14,%rsi
1196: 44 89 ef mov %r13d,%edi
1199: 41 ff 14 dc callq *(%r12,%rbx,8)
119d: 48 83 c3 01 add $0x1,%rbx
11a1: 48 39 dd cmp %rbx,%rbp
11a4: 75 ea jne 1190 <__libc_csu_init+0x40>
11a6: 48 83 c4 08 add $0x8,%rsp
11aa: 5b pop %rbx
11ab: 5d pop %rbp
11ac: 41 5c pop %r12
11ae: 41 5d pop %r13
11b0: 41 5e pop %r14
11b2: 41 5f pop %r15
11b4: c3 retq
11b5: 90 nop
11b6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
11bd: 00 00 00
00000000000011c0 <__libc_csu_fini>:
11c0: f3 c3 repz retq
Disassembly of section .fini:
00000000000011c4 <_fini>:
11c4: 48 83 ec 08 sub $0x8,%rsp
11c8: 48 83 c4 08 add $0x8,%rsp
11cc: c3 retq
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/home-coder/hello-elf.git
git@gitee.com:home-coder/hello-elf.git
home-coder
hello-elf
hello-elf
master

搜索帮助