fizzbuzz.o: file format elf64-x86-64
Disassembly of section .text:
0000000000000000 <main>:
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
4: 53 push %rbx
5: 48 83 ec 28 sub $0x28,%rsp
9: c7 45 f4 01 00 00 00 movl $0x1,-0xc(%rbp)
10: e9 e1 00 00 00 jmpq f6 <main+0xf6>
15: 8b 4d f4 mov -0xc(%rbp),%ecx
18: c7 45 d4 89 88 88 88 movl $0x88888889,-0x2c(%rbp)
1f: 8b 45 d4 mov -0x2c(%rbp),%eax
22: f7 e9 imul %ecx
24: 8d 04 0a lea (%rdx,%rcx,1),%eax
27: 89 c2 mov %eax,%edx
29: c1 fa 03 sar $0x3,%edx
2c: 89 c8 mov %ecx,%eax
2e: c1 f8 1f sar $0x1f,%eax
31: 89 d3 mov %edx,%ebx
33: 29 c3 sub %eax,%ebx
35: 89 5d dc mov %ebx,-0x24(%rbp)
38: 8b 45 dc mov -0x24(%rbp),%eax
3b: c1 e0 04 shl $0x4,%eax
3e: 2b 45 dc sub -0x24(%rbp),%eax
41: 89 ca mov %ecx,%edx
43: 29 c2 sub %eax,%edx
45: 89 55 dc mov %edx,-0x24(%rbp)
48: 83 7d dc 00 cmpl $0x0,-0x24(%rbp)
4c: 75 0f jne 5d <main+0x5d>
4e: bf 00 00 00 00 mov $0x0,%edi
4f: R_X86_64_32 .rodata
53: e8 00 00 00 00 callq 58 <main+0x58>
54: R_X86_64_PC32 puts+0xfffffffffffffffc
58: e9 95 00 00 00 jmpq f2 <main+0xf2>
5d: 8b 4d f4 mov -0xc(%rbp),%ecx
60: c7 45 d4 67 66 66 66 movl $0x66666667,-0x2c(%rbp)
67: 8b 45 d4 mov -0x2c(%rbp),%eax
6a: f7 e9 imul %ecx
6c: d1 fa sar %edx
6e: 89 c8 mov %ecx,%eax
70: c1 f8 1f sar $0x1f,%eax
73: 89 d3 mov %edx,%ebx
75: 29 c3 sub %eax,%ebx
77: 89 5d e0 mov %ebx,-0x20(%rbp)
7a: 8b 45 e0 mov -0x20(%rbp),%eax
7d: c1 e0 02 shl $0x2,%eax
80: 03 45 e0 add -0x20(%rbp),%eax
83: 89 ca mov %ecx,%edx
85: 29 c2 sub %eax,%edx
87: 89 55 e0 mov %edx,-0x20(%rbp)
8a: 83 7d e0 00 cmpl $0x0,-0x20(%rbp)
8e: 75 0c jne 9c <main+0x9c>
90: bf 00 00 00 00 mov $0x0,%edi
91: R_X86_64_32 .rodata+0x9
95: e8 00 00 00 00 callq 9a <main+0x9a>
96: R_X86_64_PC32 puts+0xfffffffffffffffc
9a: eb 56 jmp f2 <main+0xf2>
9c: 8b 5d f4 mov -0xc(%rbp),%ebx
9f: 89 5d d0 mov %ebx,-0x30(%rbp)
a2: c7 45 d4 56 55 55 55 movl $0x55555556,-0x2c(%rbp)
a9: 8b 45 d4 mov -0x2c(%rbp),%eax
ac: f7 6d d0 imull -0x30(%rbp)
af: 89 d1 mov %edx,%ecx
b1: 8b 45 d0 mov -0x30(%rbp),%eax
b4: c1 f8 1f sar $0x1f,%eax
b7: 89 cb mov %ecx,%ebx
b9: 29 c3 sub %eax,%ebx
bb: 89 5d e4 mov %ebx,-0x1c(%rbp)
be: 8b 45 e4 mov -0x1c(%rbp),%eax
c1: 01 c0 add %eax,%eax
c3: 03 45 e4 add -0x1c(%rbp),%eax
c6: 8b 55 d0 mov -0x30(%rbp),%edx
c9: 29 c2 sub %eax,%edx
cb: 89 55 e4 mov %edx,-0x1c(%rbp)
ce: 83 7d e4 00 cmpl $0x0,-0x1c(%rbp)
d2: 75 0c jne e0 <main+0xe0>
d4: bf 00 00 00 00 mov $0x0,%edi
d5: R_X86_64_32 .rodata+0xe
d9: e8 00 00 00 00 callq de <main+0xde>
da: R_X86_64_PC32 puts+0xfffffffffffffffc
de: eb 12 jmp f2 <main+0xf2>
e0: 8b 75 f4 mov -0xc(%rbp),%esi
e3: bf 00 00 00 00 mov $0x0,%edi
e4: R_X86_64_32 .rodata+0x13
e8: b8 00 00 00 00 mov $0x0,%eax
ed: e8 00 00 00 00 callq f2 <main+0xf2>
ee: R_X86_64_PC32 printf+0xfffffffffffffffc
f2: 83 45 f4 01 addl $0x1,-0xc(%rbp)
f6: 83 7d f4 64 cmpl $0x64,-0xc(%rbp)
fa: 0f 8e 15 ff ff ff jle 15 <main+0x15>
100: 48 83 c4 28 add $0x28,%rsp
104: 5b pop %rbx
105: c9 leaveq
106: c3 retq
Keyword(s):
References:[FizzBuzzAsm]