Skip to content

Instantly share code, notes, and snippets.

@talyian
Created September 28, 2018 14:52
Show Gist options
  • Save talyian/c70550df66725c22ca616c5e2d30fd40 to your computer and use it in GitHub Desktop.
Save talyian/c70550df66725c22ca616c5e2d30fd40 to your computer and use it in GitHub Desktop.
Disassembly of nim fibonacci solutoin
0000000000001640 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)>:
1640: 48 83 ff 01 cmp $0x1,%rdi
1644: b8 01 00 00 00 mov $0x1,%eax
1649: 77 05 ja 1650 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)+0x10>
164b: f3 c3 repz retq
164d: 0f 1f 00 nopl (%rax)
1650: 41 57 push %r15
1652: 41 56 push %r14
1654: 4c 8d 77 fe lea -0x2(%rdi),%r14
1658: 41 55 push %r13
165a: 41 54 push %r12
165c: 49 c7 c5 ff ff ff ff mov $0xffffffffffffffff,%r13
1663: 55 push %rbp
1664: 53 push %rbx
1665: 48 89 fd mov %rdi,%rbp
1668: 31 db xor %ebx,%ebx
166a: 48 83 ec 08 sub $0x8,%rsp
166e: 48 83 fd 02 cmp $0x2,%rbp
1672: 75 3c jne 16b0 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)+0x70>
1674: 49 83 fe 01 cmp $0x1,%r14
1678: 77 1e ja 1698 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)+0x58>
167a: 41 bc 01 00 00 00 mov $0x1,%r12d
1680: 49 8d 44 1c 01 lea 0x1(%r12,%rbx,1),%rax
1685: 48 83 c4 08 add $0x8,%rsp
1689: 5b pop %rbx
168a: 5d pop %rbp
168b: 41 5c pop %r12
168d: 41 5d pop %r13
168f: 41 5e pop %r14
1691: 41 5f pop %r15
1693: c3 retq
1694: 0f 1f 40 00 nopl 0x0(%rax)
1698: 4c 89 ef mov %r13,%rdi
169b: 49 83 ee 04 sub $0x4,%r14
169f: 48 c7 c5 fe ff ff ff mov $0xfffffffffffffffe,%rbp
16a6: e8 95 ff ff ff callq 1640 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)>
16ab: 48 8d 5c 18 01 lea 0x1(%rax,%rbx,1),%rbx
16b0: 4c 8d 7d fd lea -0x3(%rbp),%r15
16b4: 4c 89 f7 mov %r14,%rdi
16b7: e8 84 ff ff ff callq 1640 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)>
16bc: 4c 89 ff mov %r15,%rdi
16bf: 49 89 c4 mov %rax,%r12
16c2: e8 79 ff ff ff callq 1640 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)>
16c7: 49 01 c4 add %rax,%r12
16ca: 49 83 fe 01 cmp $0x1,%r14
16ce: 76 b0 jbe 1680 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)+0x40>
16d0: 4c 89 ff mov %r15,%rdi
16d3: 48 83 ed 04 sub $0x4,%rbp
16d7: 49 83 ee 04 sub $0x4,%r14
16db: e8 60 ff ff ff callq 1640 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)>
16e0: 49 01 c4 add %rax,%r12
16e3: 4c 01 e3 add %r12,%rbx
16e6: 48 83 fd 01 cmp $0x1,%rbp
16ea: 77 82 ja 166e <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)+0x2e>
16ec: 48 8d 43 01 lea 0x1(%rbx),%rax
16f0: eb 93 jmp 1685 <fib_SpYa5EuiU0areDDc1bSasA(unsigned long long)+0x45>
16f2: 0f 1f 40 00 nopl 0x0(%rax)
16f6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
16fd: 00 00 00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment