From f160c48870e49e8ae727a7b83eade4e8a9538a73 Mon Sep 17 00:00:00 2001 From: Johannes Theiner Date: Tue, 13 Mar 2018 22:19:30 +0100 Subject: [PATCH] MP_01 objdump c --- 01_ENV/main.c | 1 + 01_ENV/objdump-S_c.out.txt | 379 +++++++++++++++++++++++++++++++++++++ 2 files changed, 380 insertions(+) create mode 100644 01_ENV/objdump-S_c.out.txt diff --git a/01_ENV/main.c b/01_ENV/main.c index 2301c22..7a7bd49 100644 --- a/01_ENV/main.c +++ b/01_ENV/main.c @@ -42,6 +42,7 @@ int main(int argc, char **argv) { } printf("Nullstellen: %d\n", zeroes); + int test = 5; recurse1(20); printf("\n"); diff --git a/01_ENV/objdump-S_c.out.txt b/01_ENV/objdump-S_c.out.txt new file mode 100644 index 0000000..5a2a8db --- /dev/null +++ b/01_ENV/objdump-S_c.out.txt @@ -0,0 +1,379 @@ + +a.out: Dateiformat elf64-x86-64 + + +Disassembly of section .init: + +0000000000400408 <.init>: + 400408: 48 83 ec 08 sub $0x8,%rsp + 40040c: 48 8b 05 e5 0b 20 00 mov 0x200be5(%rip),%rax # 600ff8 + 400413: 48 85 c0 test %rax,%rax + 400416: 74 02 je 40041a + 400418: ff d0 callq *%rax + 40041a: 48 83 c4 08 add $0x8,%rsp + 40041e: c3 retq + +Disassembly of section .plt: + +0000000000400420 : + 400420: ff 35 e2 0b 20 00 pushq 0x200be2(%rip) # 601008 + 400426: ff 25 e4 0b 20 00 jmpq *0x200be4(%rip) # 601010 + 40042c: 0f 1f 40 00 nopl 0x0(%rax) + +0000000000400430 : + 400430: ff 25 e2 0b 20 00 jmpq *0x200be2(%rip) # 601018 + 400436: 68 00 00 00 00 pushq $0x0 + 40043b: e9 e0 ff ff ff jmpq 400420 + +0000000000400440 : + 400440: ff 25 da 0b 20 00 jmpq *0x200bda(%rip) # 601020 + 400446: 68 01 00 00 00 pushq $0x1 + 40044b: e9 d0 ff ff ff jmpq 400420 + +Disassembly of section .text: + +0000000000400450 <.text>: + 400450: 31 ed xor %ebp,%ebp + 400452: 49 89 d1 mov %rdx,%r9 + 400455: 5e pop %rsi + 400456: 48 89 e2 mov %rsp,%rdx + 400459: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp + 40045d: 50 push %rax + 40045e: 54 push %rsp + 40045f: 49 c7 c0 00 09 40 00 mov $0x400900,%r8 + 400466: 48 c7 c1 90 08 40 00 mov $0x400890,%rcx + 40046d: 48 c7 c7 b0 06 40 00 mov $0x4006b0,%rdi + 400474: ff 15 76 0b 20 00 callq *0x200b76(%rip) # 600ff0 + 40047a: f4 hlt + 40047b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) + 400480: 55 push %rbp + 400481: b8 40 10 60 00 mov $0x601040,%eax + 400486: 48 3d 40 10 60 00 cmp $0x601040,%rax + 40048c: 48 89 e5 mov %rsp,%rbp + 40048f: 74 17 je 4004a8 + 400491: b8 00 00 00 00 mov $0x0,%eax + 400496: 48 85 c0 test %rax,%rax + 400499: 74 0d je 4004a8 + 40049b: 5d pop %rbp + 40049c: bf 40 10 60 00 mov $0x601040,%edi + 4004a1: ff e0 jmpq *%rax + 4004a3: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) + 4004a8: 5d pop %rbp + 4004a9: c3 retq + 4004aa: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) + 4004b0: be 40 10 60 00 mov $0x601040,%esi + 4004b5: 55 push %rbp + 4004b6: 48 81 ee 40 10 60 00 sub $0x601040,%rsi + 4004bd: 48 89 e5 mov %rsp,%rbp + 4004c0: 48 c1 fe 03 sar $0x3,%rsi + 4004c4: 48 89 f0 mov %rsi,%rax + 4004c7: 48 c1 e8 3f shr $0x3f,%rax + 4004cb: 48 01 c6 add %rax,%rsi + 4004ce: 48 d1 fe sar %rsi + 4004d1: 74 15 je 4004e8 + 4004d3: b8 00 00 00 00 mov $0x0,%eax + 4004d8: 48 85 c0 test %rax,%rax + 4004db: 74 0b je 4004e8 + 4004dd: 5d pop %rbp + 4004de: bf 40 10 60 00 mov $0x601040,%edi + 4004e3: ff e0 jmpq *%rax + 4004e5: 0f 1f 00 nopl (%rax) + 4004e8: 5d pop %rbp + 4004e9: c3 retq + 4004ea: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) + 4004f0: 80 3d 45 0b 20 00 00 cmpb $0x0,0x200b45(%rip) # 60103c + 4004f7: 75 17 jne 400510 + 4004f9: 55 push %rbp + 4004fa: 48 89 e5 mov %rsp,%rbp + 4004fd: e8 7e ff ff ff callq 400480 + 400502: c6 05 33 0b 20 00 01 movb $0x1,0x200b33(%rip) # 60103c + 400509: 5d pop %rbp + 40050a: c3 retq + 40050b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) + 400510: f3 c3 repz retq + 400512: 0f 1f 40 00 nopl 0x0(%rax) + 400516: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) + 40051d: 00 00 00 + 400520: 55 push %rbp + 400521: 48 89 e5 mov %rsp,%rbp + 400524: 5d pop %rbp + 400525: eb 89 jmp 4004b0 + 400527: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) + 40052e: 00 00 + 400530: 55 push %rbp + 400531: 48 89 e5 mov %rsp,%rbp + 400534: 89 7d fc mov %edi,-0x4(%rbp) + 400537: 8b 7d fc mov -0x4(%rbp),%edi + 40053a: 83 ef 02 sub $0x2,%edi + 40053d: 8b 45 fc mov -0x4(%rbp),%eax + 400540: 83 e8 04 sub $0x4,%eax + 400543: 0f af f8 imul %eax,%edi + 400546: 8b 45 fc mov -0x4(%rbp),%eax + 400549: 83 e8 0b sub $0xb,%eax + 40054c: 0f af f8 imul %eax,%edi + 40054f: 8b 45 fc mov -0x4(%rbp),%eax + 400552: 83 e8 12 sub $0x12,%eax + 400555: 0f af f8 imul %eax,%edi + 400558: 89 f8 mov %edi,%eax + 40055a: 5d pop %rbp + 40055b: c3 retq + 40055c: 0f 1f 40 00 nopl 0x0(%rax) + 400560: 55 push %rbp + 400561: 48 89 e5 mov %rsp,%rbp + 400564: 48 83 ec 20 sub $0x20,%rsp + 400568: f2 0f 10 0d c0 03 00 movsd 0x3c0(%rip),%xmm1 # 400930 + 40056f: 00 + 400570: 89 7d fc mov %edi,-0x4(%rbp) + 400573: 8b 7d fc mov -0x4(%rbp),%edi + 400576: f2 0f 2a c7 cvtsi2sd %edi,%xmm0 + 40057a: e8 c1 fe ff ff callq 400440 + 40057f: f2 0f 10 0d a1 03 00 movsd 0x3a1(%rip),%xmm1 # 400928 + 400586: 00 + 400587: 8b 7d fc mov -0x4(%rbp),%edi + 40058a: f2 0f 2a d7 cvtsi2sd %edi,%xmm2 + 40058e: f2 0f 11 45 f0 movsd %xmm0,-0x10(%rbp) + 400593: 0f 28 c2 movaps %xmm2,%xmm0 + 400596: e8 a5 fe ff ff callq 400440 + 40059b: f2 0f 10 0d 7d 03 00 movsd 0x37d(%rip),%xmm1 # 400920 + 4005a2: 00 + 4005a3: f2 0f 10 15 6d 03 00 movsd 0x36d(%rip),%xmm2 # 400918 + 4005aa: 00 + 4005ab: f2 0f 59 d0 mulsd %xmm0,%xmm2 + 4005af: f2 0f 10 45 f0 movsd -0x10(%rbp),%xmm0 + 4005b4: f2 0f 5c c2 subsd %xmm2,%xmm0 + 4005b8: 8b 7d fc mov -0x4(%rbp),%edi + 4005bb: f2 0f 2a d7 cvtsi2sd %edi,%xmm2 + 4005bf: f2 0f 11 45 e8 movsd %xmm0,-0x18(%rbp) + 4005c4: 0f 28 c2 movaps %xmm2,%xmm0 + 4005c7: e8 74 fe ff ff callq 400440 + 4005cc: f2 0f 10 0d 44 03 00 movsd 0x344(%rip),%xmm1 # 400918 + 4005d3: 00 + 4005d4: f2 0f 10 55 e8 movsd -0x18(%rbp),%xmm2 + 4005d9: f2 0f 58 d0 addsd %xmm0,%xmm2 + 4005dd: f2 0f 58 d1 addsd %xmm1,%xmm2 + 4005e1: f2 0f 2c c2 cvttsd2si %xmm2,%eax + 4005e5: 48 83 c4 20 add $0x20,%rsp + 4005e9: 5d pop %rbp + 4005ea: c3 retq + 4005eb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) + 4005f0: 55 push %rbp + 4005f1: 48 89 e5 mov %rsp,%rbp + 4005f4: 48 83 ec 10 sub $0x10,%rsp + 4005f8: 89 7d fc mov %edi,-0x4(%rbp) + 4005fb: 83 7d fc 00 cmpl $0x0,-0x4(%rbp) + 4005ff: 0f 8c 2b 00 00 00 jl 400630 + 400605: 8b 7d fc mov -0x4(%rbp),%edi + 400608: e8 53 ff ff ff callq 400560 + 40060d: 48 bf 38 09 40 00 00 movabs $0x400938,%rdi + 400614: 00 00 00 + 400617: 89 c6 mov %eax,%esi + 400619: b0 00 mov $0x0,%al + 40061b: e8 10 fe ff ff callq 400430 + 400620: 8b 75 fc mov -0x4(%rbp),%esi + 400623: 83 ee 01 sub $0x1,%esi + 400626: 89 f7 mov %esi,%edi + 400628: 89 45 f8 mov %eax,-0x8(%rbp) + 40062b: e8 c0 ff ff ff callq 4005f0 + 400630: 48 83 c4 10 add $0x10,%rsp + 400634: 5d pop %rbp + 400635: c3 retq + 400636: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) + 40063d: 00 00 00 + 400640: 55 push %rbp + 400641: 48 89 e5 mov %rsp,%rbp + 400644: 48 83 ec 10 sub $0x10,%rsp + 400648: 89 7d fc mov %edi,-0x4(%rbp) + 40064b: 83 7d fc 00 cmpl $0x0,-0x4(%rbp) + 40064f: 0f 8c 2b 00 00 00 jl 400680 + 400655: 8b 45 fc mov -0x4(%rbp),%eax + 400658: 83 e8 01 sub $0x1,%eax + 40065b: 89 c7 mov %eax,%edi + 40065d: e8 8e ff ff ff callq 4005f0 + 400662: 8b 7d fc mov -0x4(%rbp),%edi + 400665: e8 f6 fe ff ff callq 400560 + 40066a: 48 bf 38 09 40 00 00 movabs $0x400938,%rdi + 400671: 00 00 00 + 400674: 89 c6 mov %eax,%esi + 400676: b0 00 mov $0x0,%al + 400678: e8 b3 fd ff ff callq 400430 + 40067d: 89 45 f8 mov %eax,-0x8(%rbp) + 400680: 48 83 c4 10 add $0x10,%rsp + 400684: 5d pop %rbp + 400685: c3 retq + 400686: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) + 40068d: 00 00 00 + 400690: 55 push %rbp + 400691: 48 89 e5 mov %rsp,%rbp + 400694: 89 7d fc mov %edi,-0x4(%rbp) + 400697: 89 75 f8 mov %esi,-0x8(%rbp) + 40069a: c7 45 f4 c3 01 00 00 movl $0x1c3,-0xc(%rbp) + 4006a1: 8b 75 fc mov -0x4(%rbp),%esi + 4006a4: 03 75 f8 add -0x8(%rbp),%esi + 4006a7: 89 75 f4 mov %esi,-0xc(%rbp) + 4006aa: 8b 45 f4 mov -0xc(%rbp),%eax + 4006ad: 5d pop %rbp + 4006ae: c3 retq + 4006af: 90 nop + 4006b0: 55 push %rbp + 4006b1: 48 89 e5 mov %rsp,%rbp + 4006b4: 48 83 ec 50 sub $0x50,%rsp + 4006b8: 48 b8 3c 09 40 00 00 movabs $0x40093c,%rax + 4006bf: 00 00 00 + 4006c2: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp) + 4006c9: 89 7d f8 mov %edi,-0x8(%rbp) + 4006cc: 48 89 75 f0 mov %rsi,-0x10(%rbp) + 4006d0: c7 45 ec 67 12 00 00 movl $0x1267,-0x14(%rbp) + 4006d7: 8b 34 25 38 10 60 00 mov 0x601038,%esi + 4006de: 8b 55 ec mov -0x14(%rbp),%edx + 4006e1: 48 89 c7 mov %rax,%rdi + 4006e4: b0 00 mov $0x0,%al + 4006e6: e8 45 fd ff ff callq 400430 + 4006eb: bf 02 00 00 00 mov $0x2,%edi + 4006f0: 89 45 d4 mov %eax,-0x2c(%rbp) + 4006f3: e8 38 fe ff ff callq 400530 + 4006f8: 48 bf 5e 09 40 00 00 movabs $0x40095e,%rdi + 4006ff: 00 00 00 + 400702: 89 c6 mov %eax,%esi + 400704: b0 00 mov $0x0,%al + 400706: e8 25 fd ff ff callq 400430 + 40070b: bf 02 00 00 00 mov $0x2,%edi + 400710: 89 45 d0 mov %eax,-0x30(%rbp) + 400713: e8 48 fe ff ff callq 400560 + 400718: 48 bf 6e 09 40 00 00 movabs $0x40096e,%rdi + 40071f: 00 00 00 + 400722: 89 c6 mov %eax,%esi + 400724: b0 00 mov $0x0,%al + 400726: e8 05 fd ff ff callq 400430 + 40072b: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%rbp) + 400732: c7 45 e4 00 00 00 00 movl $0x0,-0x1c(%rbp) + 400739: 89 45 cc mov %eax,-0x34(%rbp) + 40073c: 83 7d e4 05 cmpl $0x5,-0x1c(%rbp) + 400740: 0f 8f 1c 00 00 00 jg 400762 + 400746: 8b 7d e4 mov -0x1c(%rbp),%edi + 400749: e8 e2 fd ff ff callq 400530 + 40074e: 03 45 e8 add -0x18(%rbp),%eax + 400751: 89 45 e8 mov %eax,-0x18(%rbp) + 400754: 8b 45 e4 mov -0x1c(%rbp),%eax + 400757: 83 c0 01 add $0x1,%eax + 40075a: 89 45 e4 mov %eax,-0x1c(%rbp) + 40075d: e9 da ff ff ff jmpq 40073c + 400762: 48 bf 7e 09 40 00 00 movabs $0x40097e,%rdi + 400769: 00 00 00 + 40076c: 8b 75 e8 mov -0x18(%rbp),%esi + 40076f: b0 00 mov $0x0,%al + 400771: e8 ba fc ff ff callq 400430 + 400776: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%rbp) + 40077d: c7 45 e0 00 00 00 00 movl $0x0,-0x20(%rbp) + 400784: 89 45 c8 mov %eax,-0x38(%rbp) + 400787: 83 7d e0 05 cmpl $0x5,-0x20(%rbp) + 40078b: 0f 8f 1c 00 00 00 jg 4007ad + 400791: 8b 7d e0 mov -0x20(%rbp),%edi + 400794: e8 97 fd ff ff callq 400530 + 400799: 03 45 e8 add -0x18(%rbp),%eax + 40079c: 89 45 e8 mov %eax,-0x18(%rbp) + 40079f: 8b 45 e0 mov -0x20(%rbp),%eax + 4007a2: 83 c0 01 add $0x1,%eax + 4007a5: 89 45 e0 mov %eax,-0x20(%rbp) + 4007a8: e9 da ff ff ff jmpq 400787 + 4007ad: 48 bf 87 09 40 00 00 movabs $0x400987,%rdi + 4007b4: 00 00 00 + 4007b7: 8b 75 e8 mov -0x18(%rbp),%esi + 4007ba: b0 00 mov $0x0,%al + 4007bc: e8 6f fc ff ff callq 400430 + 4007c1: c7 45 e8 00 00 00 00 movl $0x0,-0x18(%rbp) + 4007c8: c7 45 dc 00 00 00 00 movl $0x0,-0x24(%rbp) + 4007cf: c7 45 d8 00 00 00 00 movl $0x0,-0x28(%rbp) + 4007d6: 89 45 c4 mov %eax,-0x3c(%rbp) + 4007d9: 83 7d d8 14 cmpl $0x14,-0x28(%rbp) + 4007dd: 0f 8f 2d 00 00 00 jg 400810 + 4007e3: 8b 7d d8 mov -0x28(%rbp),%edi + 4007e6: e8 45 fd ff ff callq 400530 + 4007eb: 83 f8 00 cmp $0x0,%eax + 4007ee: 0f 85 09 00 00 00 jne 4007fd + 4007f4: 8b 45 dc mov -0x24(%rbp),%eax + 4007f7: 83 c0 01 add $0x1,%eax + 4007fa: 89 45 dc mov %eax,-0x24(%rbp) + 4007fd: e9 00 00 00 00 jmpq 400802 + 400802: 8b 45 d8 mov -0x28(%rbp),%eax + 400805: 83 c0 01 add $0x1,%eax + 400808: 89 45 d8 mov %eax,-0x28(%rbp) + 40080b: e9 c9 ff ff ff jmpq 4007d9 + 400810: 48 bf 92 09 40 00 00 movabs $0x400992,%rdi + 400817: 00 00 00 + 40081a: 8b 75 dc mov -0x24(%rbp),%esi + 40081d: b0 00 mov $0x0,%al + 40081f: e8 0c fc ff ff callq 400430 + 400824: bf 14 00 00 00 mov $0x14,%edi + 400829: 89 45 c0 mov %eax,-0x40(%rbp) + 40082c: e8 bf fd ff ff callq 4005f0 + 400831: 48 bf 6c 09 40 00 00 movabs $0x40096c,%rdi + 400838: 00 00 00 + 40083b: 89 45 bc mov %eax,-0x44(%rbp) + 40083e: b0 00 mov $0x0,%al + 400840: e8 eb fb ff ff callq 400430 + 400845: bf 14 00 00 00 mov $0x14,%edi + 40084a: 89 45 b8 mov %eax,-0x48(%rbp) + 40084d: e8 ee fd ff ff callq 400640 + 400852: 48 bf 6c 09 40 00 00 movabs $0x40096c,%rdi + 400859: 00 00 00 + 40085c: 89 45 b4 mov %eax,-0x4c(%rbp) + 40085f: b0 00 mov $0x0,%al + 400861: e8 ca fb ff ff callq 400430 + 400866: 8b 3c 25 38 10 60 00 mov 0x601038,%edi + 40086d: 8b 75 ec mov -0x14(%rbp),%esi + 400870: 89 45 b0 mov %eax,-0x50(%rbp) + 400873: e8 18 fe ff ff callq 400690 + 400878: 89 45 ec mov %eax,-0x14(%rbp) + 40087b: 8b 45 ec mov -0x14(%rbp),%eax + 40087e: 48 83 c4 50 add $0x50,%rsp + 400882: 5d pop %rbp + 400883: c3 retq + 400884: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) + 40088b: 00 00 00 + 40088e: 66 90 xchg %ax,%ax + 400890: 41 57 push %r15 + 400892: 41 56 push %r14 + 400894: 41 89 ff mov %edi,%r15d + 400897: 41 55 push %r13 + 400899: 41 54 push %r12 + 40089b: 4c 8d 25 5e 05 20 00 lea 0x20055e(%rip),%r12 # 600e00 + 4008a2: 55 push %rbp + 4008a3: 48 8d 2d 5e 05 20 00 lea 0x20055e(%rip),%rbp # 600e08 + 4008aa: 53 push %rbx + 4008ab: 49 89 f6 mov %rsi,%r14 + 4008ae: 49 89 d5 mov %rdx,%r13 + 4008b1: 4c 29 e5 sub %r12,%rbp + 4008b4: 48 83 ec 08 sub $0x8,%rsp + 4008b8: 48 c1 fd 03 sar $0x3,%rbp + 4008bc: e8 47 fb ff ff callq 400408 + 4008c1: 48 85 ed test %rbp,%rbp + 4008c4: 74 20 je 4008e6 + 4008c6: 31 db xor %ebx,%ebx + 4008c8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) + 4008cf: 00 + 4008d0: 4c 89 ea mov %r13,%rdx + 4008d3: 4c 89 f6 mov %r14,%rsi + 4008d6: 44 89 ff mov %r15d,%edi + 4008d9: 41 ff 14 dc callq *(%r12,%rbx,8) + 4008dd: 48 83 c3 01 add $0x1,%rbx + 4008e1: 48 39 dd cmp %rbx,%rbp + 4008e4: 75 ea jne 4008d0 + 4008e6: 48 83 c4 08 add $0x8,%rsp + 4008ea: 5b pop %rbx + 4008eb: 5d pop %rbp + 4008ec: 41 5c pop %r12 + 4008ee: 41 5d pop %r13 + 4008f0: 41 5e pop %r14 + 4008f2: 41 5f pop %r15 + 4008f4: c3 retq + 4008f5: 90 nop + 4008f6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) + 4008fd: 00 00 00 + 400900: f3 c3 repz retq + +Disassembly of section .fini: + +0000000000400904 <.fini>: + 400904: 48 83 ec 08 sub $0x8,%rsp + 400908: 48 83 c4 08 add $0x8,%rsp + 40090c: c3 retq