Skip to content

Instantly share code, notes, and snippets.

@pnwamk
Created March 25, 2020 15:50
Show Gist options
  • Select an option

  • Save pnwamk/4fc6e144cc06ca4b229171676d402939 to your computer and use it in GitHub Desktop.

Select an option

Save pnwamk/4fc6e144cc06ca4b229171676d402939 to your computer and use it in GitHub Desktop.
test-switch-jump-table.clang.nostdlib.x86_64.exe: file format elf64-x86-64
Disassembly of section .text:
00000000004000f0 <mod_5>:
4000f0: 55 push %rbp
4000f1: 48 89 e5 mov %rsp,%rbp
4000f4: 48 89 7d f0 mov %rdi,-0x10(%rbp)
4000f8: 48 89 75 e8 mov %rsi,-0x18(%rbp)
4000fc: 48 89 55 e0 mov %rdx,-0x20(%rbp)
400100: 48 89 4d d8 mov %rcx,-0x28(%rbp)
400104: 4c 89 45 d0 mov %r8,-0x30(%rbp)
400108: 4c 89 4d c8 mov %r9,-0x38(%rbp)
40010c: 48 8b 45 f0 mov -0x10(%rbp),%rax
400110: 48 89 c1 mov %rax,%rcx
400113: 48 83 e9 04 sub $0x4,%rcx
400117: 48 89 45 c0 mov %rax,-0x40(%rbp)
40011b: 48 89 4d b8 mov %rcx,-0x48(%rbp)
40011f: 0f 87 90 00 00 00 ja 4001b5 <mod_5+0xc5>
400125: 48 8b 45 c0 mov -0x40(%rbp),%rax
400129: 48 8b 0c c5 80 02 40 mov 0x400280(,%rax,8),%rcx
400130: 00
400131: ff e1 jmpq *%rcx
400133: 48 63 04 25 18 10 60 movslq 0x601018,%rax
40013a: 00
40013b: 48 03 45 e8 add -0x18(%rbp),%rax
40013f: 89 c1 mov %eax,%ecx
400141: 89 0c 25 18 10 60 00 mov %ecx,0x601018
400148: e9 79 00 00 00 jmpq 4001c6 <mod_5+0xd6>
40014d: 48 63 04 25 18 10 60 movslq 0x601018,%rax
400154: 00
400155: 48 03 45 e0 add -0x20(%rbp),%rax
400159: 89 c1 mov %eax,%ecx
40015b: 89 0c 25 18 10 60 00 mov %ecx,0x601018
400162: e9 5f 00 00 00 jmpq 4001c6 <mod_5+0xd6>
400167: 48 63 04 25 18 10 60 movslq 0x601018,%rax
40016e: 00
40016f: 48 03 45 d8 add -0x28(%rbp),%rax
400173: 89 c1 mov %eax,%ecx
400175: 89 0c 25 18 10 60 00 mov %ecx,0x601018
40017c: e9 45 00 00 00 jmpq 4001c6 <mod_5+0xd6>
400181: 48 63 04 25 18 10 60 movslq 0x601018,%rax
400188: 00
400189: 48 03 45 d0 add -0x30(%rbp),%rax
40018d: 89 c1 mov %eax,%ecx
40018f: 89 0c 25 18 10 60 00 mov %ecx,0x601018
400196: e9 2b 00 00 00 jmpq 4001c6 <mod_5+0xd6>
40019b: 48 63 04 25 18 10 60 movslq 0x601018,%rax
4001a2: 00
4001a3: 48 03 45 c8 add -0x38(%rbp),%rax
4001a7: 89 c1 mov %eax,%ecx
4001a9: 89 0c 25 18 10 60 00 mov %ecx,0x601018
4001b0: e9 11 00 00 00 jmpq 4001c6 <mod_5+0xd6>
4001b5: 48 8b 45 f0 mov -0x10(%rbp),%rax
4001b9: 48 83 e8 05 sub $0x5,%rax
4001bd: 48 89 45 f0 mov %rax,-0x10(%rbp)
4001c1: e9 46 ff ff ff jmpq 40010c <mod_5+0x1c>
4001c6: 48 8b 45 f8 mov -0x8(%rbp),%rax
4001ca: 5d pop %rbp
4001cb: c3 retq
4001cc: 0f 1f 40 00 nopl 0x0(%rax)
00000000004001d0 <entry>:
4001d0: 55 push %rbp
4001d1: 48 89 e5 mov %rsp,%rbp
4001d4: 48 83 ec 30 sub $0x30,%rsp
4001d8: 48 b8 08 10 60 00 00 movabs $0x601008,%rax
4001df: 00 00 00
4001e2: 48 b9 0c 10 60 00 00 movabs $0x60100c,%rcx
4001e9: 00 00 00
4001ec: 48 ba 14 10 60 00 00 movabs $0x601014,%rdx
4001f3: 00 00 00
4001f6: 48 be 10 10 60 00 00 movabs $0x601010,%rsi
4001fd: 00 00 00
400200: 48 bf 04 10 60 00 00 movabs $0x601004,%rdi
400207: 00 00 00
40020a: 49 b8 00 10 60 00 00 movabs $0x601000,%r8
400211: 00 00 00
400214: 4c 89 45 f8 mov %r8,-0x8(%rbp)
400218: 48 89 7d f0 mov %rdi,-0x10(%rbp)
40021c: 48 89 75 e8 mov %rsi,-0x18(%rbp)
400220: 48 89 55 e0 mov %rdx,-0x20(%rbp)
400224: 48 89 4d d8 mov %rcx,-0x28(%rbp)
400228: 48 89 45 d0 mov %rax,-0x30(%rbp)
40022c: 48 63 3c 25 00 10 60 movslq 0x601000,%rdi
400233: 00
400234: 48 8b 75 f0 mov -0x10(%rbp),%rsi
400238: 48 8b 55 e8 mov -0x18(%rbp),%rdx
40023c: 48 8b 4d e0 mov -0x20(%rbp),%rcx
400240: 4c 8b 45 d8 mov -0x28(%rbp),%r8
400244: 4c 8b 4d d0 mov -0x30(%rbp),%r9
400248: e8 a3 fe ff ff callq 4000f0 <mod_5>
40024d: 41 89 c2 mov %eax,%r10d
400250: 44 89 14 25 18 10 60 mov %r10d,0x601018
400257: 00
400258: 48 83 c4 30 add $0x30,%rsp
40025c: 5d pop %rbp
40025d: c3 retq
40025e: 66 90 xchg %ax,%ax
0000000000400260 <_start>:
400260: 55 push %rbp
400261: 48 89 e5 mov %rsp,%rbp
400264: e8 67 ff ff ff callq 4001d0 <entry>
400269: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
400270: 48 c7 c0 3c 00 00 00 mov $0x3c,%rax
400277: 0f 05 syscall
400279: 5d pop %rbp
40027a: c3 retq
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment