mirror of
https://github.com/Hizenberg469/C1-Linux_SYS_Prog-AS-.git
synced 2026-04-19 18:32:24 +03:00
Stage of compilation
This commit is contained in:
BIN
Four_stage_Compilation/exetest
Executable file
BIN
Four_stage_Compilation/exetest
Executable file
Binary file not shown.
127
Four_stage_Compilation/temp
Normal file
127
Four_stage_Compilation/temp
Normal file
@@ -0,0 +1,127 @@
|
||||
|
||||
test.o: file format elf64-x86-64
|
||||
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0000000000000000 <compute_square>:
|
||||
0: 55 push %rbp
|
||||
1: 48 89 e5 mov %rsp,%rbp
|
||||
4: 89 7d fc mov %edi,-0x4(%rbp)
|
||||
7: 8b 45 fc mov -0x4(%rbp),%eax
|
||||
a: 0f af c0 imul %eax,%eax
|
||||
d: 66 0f ef c0 pxor %xmm0,%xmm0
|
||||
11: f2 0f 2a c0 cvtsi2sd %eax,%xmm0
|
||||
15: 66 48 0f 7e c0 movq %xmm0,%rax
|
||||
1a: 66 48 0f 6e c0 movq %rax,%xmm0
|
||||
1f: 5d pop %rbp
|
||||
20: c3 ret
|
||||
|
||||
0000000000000021 <compute_circle_area>:
|
||||
21: 55 push %rbp
|
||||
22: 48 89 e5 mov %rsp,%rbp
|
||||
25: 48 83 ec 08 sub $0x8,%rsp
|
||||
29: 89 7d fc mov %edi,-0x4(%rbp)
|
||||
2c: 8b 45 fc mov -0x4(%rbp),%eax
|
||||
2f: 89 c7 mov %eax,%edi
|
||||
31: e8 00 00 00 00 call 36 <compute_circle_area+0x15>
|
||||
36: f2 0f 10 0d 00 00 00 movsd 0x0(%rip),%xmm1 # 3e <compute_circle_area+0x1d>
|
||||
3d: 00
|
||||
3e: f2 0f 59 c1 mulsd %xmm1,%xmm0
|
||||
42: 66 48 0f 7e c0 movq %xmm0,%rax
|
||||
47: 66 48 0f 6e c0 movq %rax,%xmm0
|
||||
4c: c9 leave
|
||||
4d: c3 ret
|
||||
|
||||
000000000000004e <main>:
|
||||
4e: 55 push %rbp
|
||||
4f: 48 89 e5 mov %rsp,%rbp
|
||||
52: 48 83 ec 20 sub $0x20,%rsp
|
||||
56: 89 7d ec mov %edi,-0x14(%rbp)
|
||||
59: 48 89 75 e0 mov %rsi,-0x20(%rbp)
|
||||
5d: c7 45 fc 0a 00 00 00 movl $0xa,-0x4(%rbp)
|
||||
64: 8b 45 fc mov -0x4(%rbp),%eax
|
||||
67: 89 c7 mov %eax,%edi
|
||||
69: e8 00 00 00 00 call 6e <main+0x20>
|
||||
6e: bf 64 00 00 00 mov $0x64,%edi
|
||||
73: e8 00 00 00 00 call 78 <main+0x2a>
|
||||
78: b8 00 00 00 00 mov $0x0,%eax
|
||||
7d: c9 leave
|
||||
7e: c3 ret
|
||||
|
||||
Disassembly of section .rodata:
|
||||
|
||||
0000000000000000 <.rodata>:
|
||||
0: 1f (bad)
|
||||
1: 85 eb test %ebp,%ebx
|
||||
3: 51 push %rcx
|
||||
4: b8 .byte 0xb8
|
||||
5: 1e (bad)
|
||||
6: 09 .byte 0x9
|
||||
7: 40 rex
|
||||
|
||||
Disassembly of section .comment:
|
||||
|
||||
0000000000000000 <.comment>:
|
||||
0: 00 47 43 add %al,0x43(%rdi)
|
||||
3: 43 3a 20 rex.XB cmp (%r8),%spl
|
||||
6: 28 44 65 62 sub %al,0x62(%rbp,%riz,2)
|
||||
a: 69 61 6e 20 31 32 2e imul $0x2e323120,0x6e(%rcx),%esp
|
||||
11: 32 2e xor (%rsi),%ch
|
||||
13: 30 2d 31 34 29 20 xor %ch,0x20293431(%rip) # 2029344a <main+0x202933fc>
|
||||
19: 31 32 xor %esi,(%rdx)
|
||||
1b: 2e 32 2e cs xor (%rsi),%ch
|
||||
1e: 30 00 xor %al,(%rax)
|
||||
|
||||
Disassembly of section .eh_frame:
|
||||
|
||||
0000000000000000 <.eh_frame>:
|
||||
0: 14 00 adc $0x0,%al
|
||||
2: 00 00 add %al,(%rax)
|
||||
4: 00 00 add %al,(%rax)
|
||||
6: 00 00 add %al,(%rax)
|
||||
8: 01 7a 52 add %edi,0x52(%rdx)
|
||||
b: 00 01 add %al,(%rcx)
|
||||
d: 78 10 js 1f <.eh_frame+0x1f>
|
||||
f: 01 1b add %ebx,(%rbx)
|
||||
11: 0c 07 or $0x7,%al
|
||||
13: 08 90 01 00 00 1c or %dl,0x1c000001(%rax)
|
||||
19: 00 00 add %al,(%rax)
|
||||
1b: 00 1c 00 add %bl,(%rax,%rax,1)
|
||||
1e: 00 00 add %al,(%rax)
|
||||
20: 00 00 add %al,(%rax)
|
||||
22: 00 00 add %al,(%rax)
|
||||
24: 21 00 and %eax,(%rax)
|
||||
26: 00 00 add %al,(%rax)
|
||||
28: 00 41 0e add %al,0xe(%rcx)
|
||||
2b: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi)
|
||||
31: 5c pop %rsp
|
||||
32: 0c 07 or $0x7,%al
|
||||
34: 08 00 or %al,(%rax)
|
||||
36: 00 00 add %al,(%rax)
|
||||
38: 1c 00 sbb $0x0,%al
|
||||
3a: 00 00 add %al,(%rax)
|
||||
3c: 3c 00 cmp $0x0,%al
|
||||
3e: 00 00 add %al,(%rax)
|
||||
40: 00 00 add %al,(%rax)
|
||||
42: 00 00 add %al,(%rax)
|
||||
44: 2d 00 00 00 00 sub $0x0,%eax
|
||||
49: 41 0e rex.B (bad)
|
||||
4b: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi)
|
||||
51: 68 0c 07 08 00 push $0x8070c
|
||||
56: 00 00 add %al,(%rax)
|
||||
58: 1c 00 sbb $0x0,%al
|
||||
5a: 00 00 add %al,(%rax)
|
||||
5c: 5c pop %rsp
|
||||
5d: 00 00 add %al,(%rax)
|
||||
5f: 00 00 add %al,(%rax)
|
||||
61: 00 00 add %al,(%rax)
|
||||
63: 00 31 add %dh,(%rcx)
|
||||
65: 00 00 add %al,(%rax)
|
||||
67: 00 00 add %al,(%rax)
|
||||
69: 41 0e rex.B (bad)
|
||||
6b: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi)
|
||||
71: 6c insb (%dx),%es:(%rdi)
|
||||
72: 0c 07 or $0x7,%al
|
||||
74: 08 00 or %al,(%rax)
|
||||
...
|
||||
827
Four_stage_Compilation/temp1
Normal file
827
Four_stage_Compilation/temp1
Normal file
@@ -0,0 +1,827 @@
|
||||
|
||||
exetest: file format elf64-x86-64
|
||||
|
||||
|
||||
Disassembly of section .interp:
|
||||
|
||||
0000000000000318 <.interp>:
|
||||
318: 2f (bad)
|
||||
319: 6c insb (%dx),%es:(%rdi)
|
||||
31a: 69 62 36 34 2f 6c 64 imul $0x646c2f34,0x36(%rdx),%esp
|
||||
321: 2d 6c 69 6e 75 sub $0x756e696c,%eax
|
||||
326: 78 2d js 355 <__abi_tag-0x27>
|
||||
328: 78 38 js 362 <__abi_tag-0x1a>
|
||||
32a: 36 2d 36 34 2e 73 ss sub $0x732e3436,%eax
|
||||
330: 6f outsl %ds:(%rsi),(%dx)
|
||||
331: 2e 32 00 cs xor (%rax),%al
|
||||
|
||||
Disassembly of section .note.gnu.property:
|
||||
|
||||
0000000000000338 <.note.gnu.property>:
|
||||
338: 04 00 add $0x0,%al
|
||||
33a: 00 00 add %al,(%rax)
|
||||
33c: 10 00 adc %al,(%rax)
|
||||
33e: 00 00 add %al,(%rax)
|
||||
340: 05 00 00 00 47 add $0x47000000,%eax
|
||||
345: 4e 55 rex.WRX push %rbp
|
||||
347: 00 02 add %al,(%rdx)
|
||||
349: 80 00 c0 addb $0xc0,(%rax)
|
||||
34c: 04 00 add $0x0,%al
|
||||
34e: 00 00 add %al,(%rax)
|
||||
350: 01 00 add %eax,(%rax)
|
||||
352: 00 00 add %al,(%rax)
|
||||
354: 00 00 add %al,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .note.gnu.build-id:
|
||||
|
||||
0000000000000358 <.note.gnu.build-id>:
|
||||
358: 04 00 add $0x0,%al
|
||||
35a: 00 00 add %al,(%rax)
|
||||
35c: 14 00 adc $0x0,%al
|
||||
35e: 00 00 add %al,(%rax)
|
||||
360: 03 00 add (%rax),%eax
|
||||
362: 00 00 add %al,(%rax)
|
||||
364: 47 rex.RXB
|
||||
365: 4e 55 rex.WRX push %rbp
|
||||
367: 00 ac f8 0a 3d b1 d8 add %ch,-0x274ec2f6(%rax,%rdi,8)
|
||||
36e: 08 42 52 or %al,0x52(%rdx)
|
||||
371: 9d popf
|
||||
372: 2d 0a af 6e 8b sub $0x8b6eaf0a,%eax
|
||||
377: 93 xchg %eax,%ebx
|
||||
378: aa stos %al,%es:(%rdi)
|
||||
379: e2 fd loop 378 <__abi_tag-0x4>
|
||||
37b: c2 .byte 0xc2
|
||||
|
||||
Disassembly of section .note.ABI-tag:
|
||||
|
||||
000000000000037c <__abi_tag>:
|
||||
37c: 04 00 add $0x0,%al
|
||||
37e: 00 00 add %al,(%rax)
|
||||
380: 10 00 adc %al,(%rax)
|
||||
382: 00 00 add %al,(%rax)
|
||||
384: 01 00 add %eax,(%rax)
|
||||
386: 00 00 add %al,(%rax)
|
||||
388: 47 rex.RXB
|
||||
389: 4e 55 rex.WRX push %rbp
|
||||
38b: 00 00 add %al,(%rax)
|
||||
38d: 00 00 add %al,(%rax)
|
||||
38f: 00 03 add %al,(%rbx)
|
||||
391: 00 00 add %al,(%rax)
|
||||
393: 00 02 add %al,(%rdx)
|
||||
395: 00 00 add %al,(%rax)
|
||||
397: 00 00 add %al,(%rax)
|
||||
399: 00 00 add %al,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .gnu.hash:
|
||||
|
||||
00000000000003a0 <.gnu.hash>:
|
||||
3a0: 02 00 add (%rax),%al
|
||||
3a2: 00 00 add %al,(%rax)
|
||||
3a4: 05 00 00 00 01 add $0x1000000,%eax
|
||||
3a9: 00 00 add %al,(%rax)
|
||||
3ab: 00 06 add %al,(%rsi)
|
||||
3ad: 00 00 add %al,(%rax)
|
||||
3af: 00 00 add %al,(%rax)
|
||||
3b1: 00 81 00 00 00 00 add %al,0x0(%rcx)
|
||||
3b7: 00 05 00 00 00 00 add %al,0x0(%rip) # 3bd <__abi_tag+0x41>
|
||||
3bd: 00 00 add %al,(%rax)
|
||||
3bf: 00 d1 add %dl,%cl
|
||||
3c1: 65 ce gs (bad)
|
||||
3c3: 6d insl (%dx),%es:(%rdi)
|
||||
|
||||
Disassembly of section .dynsym:
|
||||
|
||||
00000000000003c8 <.dynsym>:
|
||||
...
|
||||
3e0: 01 00 add %eax,(%rax)
|
||||
3e2: 00 00 add %al,(%rax)
|
||||
3e4: 12 00 adc (%rax),%al
|
||||
...
|
||||
3f6: 00 00 add %al,(%rax)
|
||||
3f8: 43 00 00 rex.XB add %al,(%r8)
|
||||
3fb: 00 20 add %ah,(%rax)
|
||||
...
|
||||
40d: 00 00 add %al,(%rax)
|
||||
40f: 00 5f 00 add %bl,0x0(%rdi)
|
||||
412: 00 00 add %al,(%rax)
|
||||
414: 20 00 and %al,(%rax)
|
||||
...
|
||||
426: 00 00 add %al,(%rax)
|
||||
428: 6e outsb %ds:(%rsi),(%dx)
|
||||
429: 00 00 add %al,(%rax)
|
||||
42b: 00 20 add %ah,(%rax)
|
||||
...
|
||||
43d: 00 00 add %al,(%rax)
|
||||
43f: 00 13 add %dl,(%rbx)
|
||||
441: 00 00 add %al,(%rax)
|
||||
443: 00 22 add %ah,(%rdx)
|
||||
...
|
||||
|
||||
Disassembly of section .dynstr:
|
||||
|
||||
0000000000000458 <.dynstr>:
|
||||
458: 00 5f 5f add %bl,0x5f(%rdi)
|
||||
45b: 6c insb (%dx),%es:(%rdi)
|
||||
45c: 69 62 63 5f 73 74 61 imul $0x6174735f,0x63(%rdx),%esp
|
||||
463: 72 74 jb 4d9 <__abi_tag+0x15d>
|
||||
465: 5f pop %rdi
|
||||
466: 6d insl (%dx),%es:(%rdi)
|
||||
467: 61 (bad)
|
||||
468: 69 6e 00 5f 5f 63 78 imul $0x78635f5f,0x0(%rsi),%ebp
|
||||
46f: 61 (bad)
|
||||
470: 5f pop %rdi
|
||||
471: 66 69 6e 61 6c 69 imul $0x696c,0x61(%rsi),%bp
|
||||
477: 7a 65 jp 4de <__abi_tag+0x162>
|
||||
479: 00 6c 69 62 add %ch,0x62(%rcx,%rbp,2)
|
||||
47d: 63 2e movsxd (%rsi),%ebp
|
||||
47f: 73 6f jae 4f0 <__abi_tag+0x174>
|
||||
481: 2e 36 00 47 4c cs ss add %al,0x4c(%rdi)
|
||||
486: 49 rex.WB
|
||||
487: 42 rex.X
|
||||
488: 43 5f rex.XB pop %r15
|
||||
48a: 32 2e xor (%rsi),%ch
|
||||
48c: 32 2e xor (%rsi),%ch
|
||||
48e: 35 00 47 4c 49 xor $0x494c4700,%eax
|
||||
493: 42 rex.X
|
||||
494: 43 5f rex.XB pop %r15
|
||||
496: 32 2e xor (%rsi),%ch
|
||||
498: 33 34 00 xor (%rax,%rax,1),%esi
|
||||
49b: 5f pop %rdi
|
||||
49c: 49 54 rex.WB push %r12
|
||||
49e: 4d 5f rex.WRB pop %r15
|
||||
4a0: 64 65 72 65 fs gs jb 509 <__abi_tag+0x18d>
|
||||
4a4: 67 69 73 74 65 72 54 imul $0x4d547265,0x74(%ebx),%esi
|
||||
4ab: 4d
|
||||
4ac: 43 6c rex.XB insb (%dx),%es:(%rdi)
|
||||
4ae: 6f outsl %ds:(%rsi),(%dx)
|
||||
4af: 6e outsb %ds:(%rsi),(%dx)
|
||||
4b0: 65 54 gs push %rsp
|
||||
4b2: 61 (bad)
|
||||
4b3: 62 (bad)
|
||||
4b4: 6c insb (%dx),%es:(%rdi)
|
||||
4b5: 65 00 5f 5f add %bl,%gs:0x5f(%rdi)
|
||||
4b9: 67 6d insl (%dx),%es:(%edi)
|
||||
4bb: 6f outsl %ds:(%rsi),(%dx)
|
||||
4bc: 6e outsb %ds:(%rsi),(%dx)
|
||||
4bd: 5f pop %rdi
|
||||
4be: 73 74 jae 534 <__abi_tag+0x1b8>
|
||||
4c0: 61 (bad)
|
||||
4c1: 72 74 jb 537 <__abi_tag+0x1bb>
|
||||
4c3: 5f pop %rdi
|
||||
4c4: 5f pop %rdi
|
||||
4c5: 00 5f 49 add %bl,0x49(%rdi)
|
||||
4c8: 54 push %rsp
|
||||
4c9: 4d 5f rex.WRB pop %r15
|
||||
4cb: 72 65 jb 532 <__abi_tag+0x1b6>
|
||||
4cd: 67 69 73 74 65 72 54 imul $0x4d547265,0x74(%ebx),%esi
|
||||
4d4: 4d
|
||||
4d5: 43 6c rex.XB insb (%dx),%es:(%rdi)
|
||||
4d7: 6f outsl %ds:(%rsi),(%dx)
|
||||
4d8: 6e outsb %ds:(%rsi),(%dx)
|
||||
4d9: 65 54 gs push %rsp
|
||||
4db: 61 (bad)
|
||||
4dc: 62 .byte 0x62
|
||||
4dd: 6c insb (%dx),%es:(%rdi)
|
||||
4de: 65 gs
|
||||
...
|
||||
|
||||
Disassembly of section .gnu.version:
|
||||
|
||||
00000000000004e0 <.gnu.version>:
|
||||
4e0: 00 00 add %al,(%rax)
|
||||
4e2: 02 00 add (%rax),%al
|
||||
4e4: 01 00 add %eax,(%rax)
|
||||
4e6: 01 00 add %eax,(%rax)
|
||||
4e8: 01 00 add %eax,(%rax)
|
||||
4ea: 03 00 add (%rax),%eax
|
||||
|
||||
Disassembly of section .gnu.version_r:
|
||||
|
||||
00000000000004f0 <.gnu.version_r>:
|
||||
4f0: 01 00 add %eax,(%rax)
|
||||
4f2: 02 00 add (%rax),%al
|
||||
4f4: 22 00 and (%rax),%al
|
||||
4f6: 00 00 add %al,(%rax)
|
||||
4f8: 10 00 adc %al,(%rax)
|
||||
4fa: 00 00 add %al,(%rax)
|
||||
4fc: 00 00 add %al,(%rax)
|
||||
4fe: 00 00 add %al,(%rax)
|
||||
500: 75 1a jne 51c <__abi_tag+0x1a0>
|
||||
502: 69 09 00 00 03 00 imul $0x30000,(%rcx),%ecx
|
||||
508: 2c 00 sub $0x0,%al
|
||||
50a: 00 00 add %al,(%rax)
|
||||
50c: 10 00 adc %al,(%rax)
|
||||
50e: 00 00 add %al,(%rax)
|
||||
510: b4 91 mov $0x91,%ah
|
||||
512: 96 xchg %eax,%esi
|
||||
513: 06 (bad)
|
||||
514: 00 00 add %al,(%rax)
|
||||
516: 02 00 add (%rax),%al
|
||||
518: 38 00 cmp %al,(%rax)
|
||||
51a: 00 00 add %al,(%rax)
|
||||
51c: 00 00 add %al,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .rela.dyn:
|
||||
|
||||
0000000000000520 <.rela.dyn>:
|
||||
520: 00 3e add %bh,(%rsi)
|
||||
522: 00 00 add %al,(%rax)
|
||||
524: 00 00 add %al,(%rax)
|
||||
526: 00 00 add %al,(%rax)
|
||||
528: 08 00 or %al,(%rax)
|
||||
52a: 00 00 add %al,(%rax)
|
||||
52c: 00 00 add %al,(%rax)
|
||||
52e: 00 00 add %al,(%rax)
|
||||
530: 20 11 and %dl,(%rcx)
|
||||
532: 00 00 add %al,(%rax)
|
||||
534: 00 00 add %al,(%rax)
|
||||
536: 00 00 add %al,(%rax)
|
||||
538: 08 3e or %bh,(%rsi)
|
||||
53a: 00 00 add %al,(%rax)
|
||||
53c: 00 00 add %al,(%rax)
|
||||
53e: 00 00 add %al,(%rax)
|
||||
540: 08 00 or %al,(%rax)
|
||||
542: 00 00 add %al,(%rax)
|
||||
544: 00 00 add %al,(%rax)
|
||||
546: 00 00 add %al,(%rax)
|
||||
548: e0 10 loopne 55a <__abi_tag+0x1de>
|
||||
54a: 00 00 add %al,(%rax)
|
||||
54c: 00 00 add %al,(%rax)
|
||||
54e: 00 00 add %al,(%rax)
|
||||
550: 08 40 00 or %al,0x0(%rax)
|
||||
553: 00 00 add %al,(%rax)
|
||||
555: 00 00 add %al,(%rax)
|
||||
557: 00 08 add %cl,(%rax)
|
||||
559: 00 00 add %al,(%rax)
|
||||
55b: 00 00 add %al,(%rax)
|
||||
55d: 00 00 add %al,(%rax)
|
||||
55f: 00 08 add %cl,(%rax)
|
||||
561: 40 00 00 rex add %al,(%rax)
|
||||
564: 00 00 add %al,(%rax)
|
||||
566: 00 00 add %al,(%rax)
|
||||
568: c0 3f 00 sarb $0x0,(%rdi)
|
||||
56b: 00 00 add %al,(%rax)
|
||||
56d: 00 00 add %al,(%rax)
|
||||
56f: 00 06 add %al,(%rsi)
|
||||
571: 00 00 add %al,(%rax)
|
||||
573: 00 01 add %al,(%rcx)
|
||||
...
|
||||
57d: 00 00 add %al,(%rax)
|
||||
57f: 00 c8 add %cl,%al
|
||||
581: 3f (bad)
|
||||
582: 00 00 add %al,(%rax)
|
||||
584: 00 00 add %al,(%rax)
|
||||
586: 00 00 add %al,(%rax)
|
||||
588: 06 (bad)
|
||||
589: 00 00 add %al,(%rax)
|
||||
58b: 00 02 add %al,(%rdx)
|
||||
...
|
||||
595: 00 00 add %al,(%rax)
|
||||
597: 00 d0 add %dl,%al
|
||||
599: 3f (bad)
|
||||
59a: 00 00 add %al,(%rax)
|
||||
59c: 00 00 add %al,(%rax)
|
||||
59e: 00 00 add %al,(%rax)
|
||||
5a0: 06 (bad)
|
||||
5a1: 00 00 add %al,(%rax)
|
||||
5a3: 00 03 add %al,(%rbx)
|
||||
...
|
||||
5ad: 00 00 add %al,(%rax)
|
||||
5af: 00 d8 add %bl,%al
|
||||
5b1: 3f (bad)
|
||||
5b2: 00 00 add %al,(%rax)
|
||||
5b4: 00 00 add %al,(%rax)
|
||||
5b6: 00 00 add %al,(%rax)
|
||||
5b8: 06 (bad)
|
||||
5b9: 00 00 add %al,(%rax)
|
||||
5bb: 00 04 00 add %al,(%rax,%rax,1)
|
||||
...
|
||||
5c6: 00 00 add %al,(%rax)
|
||||
5c8: e0 3f loopne 609 <__abi_tag+0x28d>
|
||||
5ca: 00 00 add %al,(%rax)
|
||||
5cc: 00 00 add %al,(%rax)
|
||||
5ce: 00 00 add %al,(%rax)
|
||||
5d0: 06 (bad)
|
||||
5d1: 00 00 add %al,(%rax)
|
||||
5d3: 00 05 00 00 00 00 add %al,0x0(%rip) # 5d9 <__abi_tag+0x25d>
|
||||
5d9: 00 00 add %al,(%rax)
|
||||
5db: 00 00 add %al,(%rax)
|
||||
5dd: 00 00 add %al,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .init:
|
||||
|
||||
0000000000001000 <_init>:
|
||||
1000: 48 83 ec 08 sub $0x8,%rsp
|
||||
1004: 48 8b 05 c5 2f 00 00 mov 0x2fc5(%rip),%rax # 3fd0 <__gmon_start__@Base>
|
||||
100b: 48 85 c0 test %rax,%rax
|
||||
100e: 74 02 je 1012 <_init+0x12>
|
||||
1010: ff d0 call *%rax
|
||||
1012: 48 83 c4 08 add $0x8,%rsp
|
||||
1016: c3 ret
|
||||
|
||||
Disassembly of section .plt:
|
||||
|
||||
0000000000001020 <.plt>:
|
||||
1020: ff 35 ca 2f 00 00 push 0x2fca(%rip) # 3ff0 <_GLOBAL_OFFSET_TABLE_+0x8>
|
||||
1026: ff 25 cc 2f 00 00 jmp *0x2fcc(%rip) # 3ff8 <_GLOBAL_OFFSET_TABLE_+0x10>
|
||||
102c: 0f 1f 40 00 nopl 0x0(%rax)
|
||||
|
||||
Disassembly of section .plt.got:
|
||||
|
||||
0000000000001030 <__cxa_finalize@plt>:
|
||||
1030: ff 25 aa 2f 00 00 jmp *0x2faa(%rip) # 3fe0 <__cxa_finalize@GLIBC_2.2.5>
|
||||
1036: 66 90 xchg %ax,%ax
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0000000000001040 <_start>:
|
||||
1040: 31 ed xor %ebp,%ebp
|
||||
1042: 49 89 d1 mov %rdx,%r9
|
||||
1045: 5e pop %rsi
|
||||
1046: 48 89 e2 mov %rsp,%rdx
|
||||
1049: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp
|
||||
104d: 50 push %rax
|
||||
104e: 54 push %rsp
|
||||
104f: 45 31 c0 xor %r8d,%r8d
|
||||
1052: 31 c9 xor %ecx,%ecx
|
||||
1054: 48 8d 3d 1c 01 00 00 lea 0x11c(%rip),%rdi # 1177 <main>
|
||||
105b: ff 15 5f 2f 00 00 call *0x2f5f(%rip) # 3fc0 <__libc_start_main@GLIBC_2.34>
|
||||
1061: f4 hlt
|
||||
1062: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1)
|
||||
1069: 00 00 00
|
||||
106c: 0f 1f 40 00 nopl 0x0(%rax)
|
||||
|
||||
0000000000001070 <deregister_tm_clones>:
|
||||
1070: 48 8d 3d 99 2f 00 00 lea 0x2f99(%rip),%rdi # 4010 <__TMC_END__>
|
||||
1077: 48 8d 05 92 2f 00 00 lea 0x2f92(%rip),%rax # 4010 <__TMC_END__>
|
||||
107e: 48 39 f8 cmp %rdi,%rax
|
||||
1081: 74 15 je 1098 <deregister_tm_clones+0x28>
|
||||
1083: 48 8b 05 3e 2f 00 00 mov 0x2f3e(%rip),%rax # 3fc8 <_ITM_deregisterTMCloneTable@Base>
|
||||
108a: 48 85 c0 test %rax,%rax
|
||||
108d: 74 09 je 1098 <deregister_tm_clones+0x28>
|
||||
108f: ff e0 jmp *%rax
|
||||
1091: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
|
||||
1098: c3 ret
|
||||
1099: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
|
||||
|
||||
00000000000010a0 <register_tm_clones>:
|
||||
10a0: 48 8d 3d 69 2f 00 00 lea 0x2f69(%rip),%rdi # 4010 <__TMC_END__>
|
||||
10a7: 48 8d 35 62 2f 00 00 lea 0x2f62(%rip),%rsi # 4010 <__TMC_END__>
|
||||
10ae: 48 29 fe sub %rdi,%rsi
|
||||
10b1: 48 89 f0 mov %rsi,%rax
|
||||
10b4: 48 c1 ee 3f shr $0x3f,%rsi
|
||||
10b8: 48 c1 f8 03 sar $0x3,%rax
|
||||
10bc: 48 01 c6 add %rax,%rsi
|
||||
10bf: 48 d1 fe sar %rsi
|
||||
10c2: 74 14 je 10d8 <register_tm_clones+0x38>
|
||||
10c4: 48 8b 05 0d 2f 00 00 mov 0x2f0d(%rip),%rax # 3fd8 <_ITM_registerTMCloneTable@Base>
|
||||
10cb: 48 85 c0 test %rax,%rax
|
||||
10ce: 74 08 je 10d8 <register_tm_clones+0x38>
|
||||
10d0: ff e0 jmp *%rax
|
||||
10d2: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
|
||||
10d8: c3 ret
|
||||
10d9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
|
||||
|
||||
00000000000010e0 <__do_global_dtors_aux>:
|
||||
10e0: f3 0f 1e fa endbr64
|
||||
10e4: 80 3d 25 2f 00 00 00 cmpb $0x0,0x2f25(%rip) # 4010 <__TMC_END__>
|
||||
10eb: 75 2b jne 1118 <__do_global_dtors_aux+0x38>
|
||||
10ed: 55 push %rbp
|
||||
10ee: 48 83 3d ea 2e 00 00 cmpq $0x0,0x2eea(%rip) # 3fe0 <__cxa_finalize@GLIBC_2.2.5>
|
||||
10f5: 00
|
||||
10f6: 48 89 e5 mov %rsp,%rbp
|
||||
10f9: 74 0c je 1107 <__do_global_dtors_aux+0x27>
|
||||
10fb: 48 8b 3d 06 2f 00 00 mov 0x2f06(%rip),%rdi # 4008 <__dso_handle>
|
||||
1102: e8 29 ff ff ff call 1030 <__cxa_finalize@plt>
|
||||
1107: e8 64 ff ff ff call 1070 <deregister_tm_clones>
|
||||
110c: c6 05 fd 2e 00 00 01 movb $0x1,0x2efd(%rip) # 4010 <__TMC_END__>
|
||||
1113: 5d pop %rbp
|
||||
1114: c3 ret
|
||||
1115: 0f 1f 00 nopl (%rax)
|
||||
1118: c3 ret
|
||||
1119: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
|
||||
|
||||
0000000000001120 <frame_dummy>:
|
||||
1120: f3 0f 1e fa endbr64
|
||||
1124: e9 77 ff ff ff jmp 10a0 <register_tm_clones>
|
||||
|
||||
0000000000001129 <compute_square>:
|
||||
1129: 55 push %rbp
|
||||
112a: 48 89 e5 mov %rsp,%rbp
|
||||
112d: 89 7d fc mov %edi,-0x4(%rbp)
|
||||
1130: 8b 45 fc mov -0x4(%rbp),%eax
|
||||
1133: 0f af c0 imul %eax,%eax
|
||||
1136: 66 0f ef c0 pxor %xmm0,%xmm0
|
||||
113a: f2 0f 2a c0 cvtsi2sd %eax,%xmm0
|
||||
113e: 66 48 0f 7e c0 movq %xmm0,%rax
|
||||
1143: 66 48 0f 6e c0 movq %rax,%xmm0
|
||||
1148: 5d pop %rbp
|
||||
1149: c3 ret
|
||||
|
||||
000000000000114a <compute_circle_area>:
|
||||
114a: 55 push %rbp
|
||||
114b: 48 89 e5 mov %rsp,%rbp
|
||||
114e: 48 83 ec 08 sub $0x8,%rsp
|
||||
1152: 89 7d fc mov %edi,-0x4(%rbp)
|
||||
1155: 8b 45 fc mov -0x4(%rbp),%eax
|
||||
1158: 89 c7 mov %eax,%edi
|
||||
115a: e8 ca ff ff ff call 1129 <compute_square>
|
||||
115f: f2 0f 10 0d a1 0e 00 movsd 0xea1(%rip),%xmm1 # 2008 <_IO_stdin_used+0x8>
|
||||
1166: 00
|
||||
1167: f2 0f 59 c1 mulsd %xmm1,%xmm0
|
||||
116b: 66 48 0f 7e c0 movq %xmm0,%rax
|
||||
1170: 66 48 0f 6e c0 movq %rax,%xmm0
|
||||
1175: c9 leave
|
||||
1176: c3 ret
|
||||
|
||||
0000000000001177 <main>:
|
||||
1177: 55 push %rbp
|
||||
1178: 48 89 e5 mov %rsp,%rbp
|
||||
117b: 48 83 ec 20 sub $0x20,%rsp
|
||||
117f: 89 7d ec mov %edi,-0x14(%rbp)
|
||||
1182: 48 89 75 e0 mov %rsi,-0x20(%rbp)
|
||||
1186: c7 45 fc 0a 00 00 00 movl $0xa,-0x4(%rbp)
|
||||
118d: 8b 45 fc mov -0x4(%rbp),%eax
|
||||
1190: 89 c7 mov %eax,%edi
|
||||
1192: e8 b3 ff ff ff call 114a <compute_circle_area>
|
||||
1197: bf 64 00 00 00 mov $0x64,%edi
|
||||
119c: e8 a9 ff ff ff call 114a <compute_circle_area>
|
||||
11a1: b8 00 00 00 00 mov $0x0,%eax
|
||||
11a6: c9 leave
|
||||
11a7: c3 ret
|
||||
|
||||
Disassembly of section .fini:
|
||||
|
||||
00000000000011a8 <_fini>:
|
||||
11a8: 48 83 ec 08 sub $0x8,%rsp
|
||||
11ac: 48 83 c4 08 add $0x8,%rsp
|
||||
11b0: c3 ret
|
||||
|
||||
Disassembly of section .rodata:
|
||||
|
||||
0000000000002000 <_IO_stdin_used>:
|
||||
2000: 01 00 add %eax,(%rax)
|
||||
2002: 02 00 add (%rax),%al
|
||||
2004: 00 00 add %al,(%rax)
|
||||
2006: 00 00 add %al,(%rax)
|
||||
2008: 1f (bad)
|
||||
2009: 85 eb test %ebp,%ebx
|
||||
200b: 51 push %rcx
|
||||
200c: b8 .byte 0xb8
|
||||
200d: 1e (bad)
|
||||
200e: 09 .byte 0x9
|
||||
200f: 40 rex
|
||||
|
||||
Disassembly of section .eh_frame_hdr:
|
||||
|
||||
0000000000002010 <__GNU_EH_FRAME_HDR>:
|
||||
2010: 01 1b add %ebx,(%rbx)
|
||||
2012: 03 3b add (%rbx),%edi
|
||||
2014: 3c 00 cmp $0x0,%al
|
||||
2016: 00 00 add %al,(%rax)
|
||||
2018: 06 (bad)
|
||||
2019: 00 00 add %al,(%rax)
|
||||
201b: 00 10 add %dl,(%rax)
|
||||
201d: f0 ff lock (bad)
|
||||
201f: ff 88 00 00 00 20 decl 0x20000000(%rax)
|
||||
2025: f0 ff lock (bad)
|
||||
2027: ff b0 00 00 00 30 push 0x30000000(%rax)
|
||||
202d: f0 ff lock (bad)
|
||||
202f: ff 58 00 lcall *0x0(%rax)
|
||||
2032: 00 00 add %al,(%rax)
|
||||
2034: 19 f1 sbb %esi,%ecx
|
||||
2036: ff (bad)
|
||||
2037: ff c8 dec %eax
|
||||
2039: 00 00 add %al,(%rax)
|
||||
203b: 00 3a add %bh,(%rdx)
|
||||
203d: f1 int1
|
||||
203e: ff (bad)
|
||||
203f: ff (bad)
|
||||
2040: e8 00 00 00 67 call 67002045 <_end+0x66ffe02d>
|
||||
2045: f1 int1
|
||||
2046: ff (bad)
|
||||
2047: ff 08 decl (%rax)
|
||||
2049: 01 00 add %eax,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .eh_frame:
|
||||
|
||||
0000000000002050 <__FRAME_END__-0xe8>:
|
||||
2050: 14 00 adc $0x0,%al
|
||||
2052: 00 00 add %al,(%rax)
|
||||
2054: 00 00 add %al,(%rax)
|
||||
2056: 00 00 add %al,(%rax)
|
||||
2058: 01 7a 52 add %edi,0x52(%rdx)
|
||||
205b: 00 01 add %al,(%rcx)
|
||||
205d: 78 10 js 206f <__GNU_EH_FRAME_HDR+0x5f>
|
||||
205f: 01 1b add %ebx,(%rbx)
|
||||
2061: 0c 07 or $0x7,%al
|
||||
2063: 08 90 01 07 10 14 or %dl,0x14100701(%rax)
|
||||
2069: 00 00 add %al,(%rax)
|
||||
206b: 00 1c 00 add %bl,(%rax,%rax,1)
|
||||
206e: 00 00 add %al,(%rax)
|
||||
2070: d0 ef shr %bh
|
||||
2072: ff (bad)
|
||||
2073: ff 22 jmp *(%rdx)
|
||||
...
|
||||
207d: 00 00 add %al,(%rax)
|
||||
207f: 00 14 00 add %dl,(%rax,%rax,1)
|
||||
2082: 00 00 add %al,(%rax)
|
||||
2084: 00 00 add %al,(%rax)
|
||||
2086: 00 00 add %al,(%rax)
|
||||
2088: 01 7a 52 add %edi,0x52(%rdx)
|
||||
208b: 00 01 add %al,(%rcx)
|
||||
208d: 78 10 js 209f <__GNU_EH_FRAME_HDR+0x8f>
|
||||
208f: 01 1b add %ebx,(%rbx)
|
||||
2091: 0c 07 or $0x7,%al
|
||||
2093: 08 90 01 00 00 24 or %dl,0x24000001(%rax)
|
||||
2099: 00 00 add %al,(%rax)
|
||||
209b: 00 1c 00 add %bl,(%rax,%rax,1)
|
||||
209e: 00 00 add %al,(%rax)
|
||||
20a0: 80 ef ff sub $0xff,%bh
|
||||
20a3: ff 10 call *(%rax)
|
||||
20a5: 00 00 add %al,(%rax)
|
||||
20a7: 00 00 add %al,(%rax)
|
||||
20a9: 0e (bad)
|
||||
20aa: 10 46 0e adc %al,0xe(%rsi)
|
||||
20ad: 18 4a 0f sbb %cl,0xf(%rdx)
|
||||
20b0: 0b 77 08 or 0x8(%rdi),%esi
|
||||
20b3: 80 00 3f addb $0x3f,(%rax)
|
||||
20b6: 1a 3b sbb (%rbx),%bh
|
||||
20b8: 2a 33 sub (%rbx),%dh
|
||||
20ba: 24 22 and $0x22,%al
|
||||
20bc: 00 00 add %al,(%rax)
|
||||
20be: 00 00 add %al,(%rax)
|
||||
20c0: 14 00 adc $0x0,%al
|
||||
20c2: 00 00 add %al,(%rax)
|
||||
20c4: 44 00 00 add %r8b,(%rax)
|
||||
20c7: 00 68 ef add %ch,-0x11(%rax)
|
||||
20ca: ff (bad)
|
||||
20cb: ff 08 decl (%rax)
|
||||
...
|
||||
20d5: 00 00 add %al,(%rax)
|
||||
20d7: 00 1c 00 add %bl,(%rax,%rax,1)
|
||||
20da: 00 00 add %al,(%rax)
|
||||
20dc: 5c pop %rsp
|
||||
20dd: 00 00 add %al,(%rax)
|
||||
20df: 00 49 f0 add %cl,-0x10(%rcx)
|
||||
20e2: ff (bad)
|
||||
20e3: ff 21 jmp *(%rcx)
|
||||
20e5: 00 00 add %al,(%rax)
|
||||
20e7: 00 00 add %al,(%rax)
|
||||
20e9: 41 0e rex.B (bad)
|
||||
20eb: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi)
|
||||
20f1: 5c pop %rsp
|
||||
20f2: 0c 07 or $0x7,%al
|
||||
20f4: 08 00 or %al,(%rax)
|
||||
20f6: 00 00 add %al,(%rax)
|
||||
20f8: 1c 00 sbb $0x0,%al
|
||||
20fa: 00 00 add %al,(%rax)
|
||||
20fc: 7c 00 jl 20fe <__GNU_EH_FRAME_HDR+0xee>
|
||||
20fe: 00 00 add %al,(%rax)
|
||||
2100: 4a rex.WX
|
||||
2101: f0 ff lock (bad)
|
||||
2103: ff 2d 00 00 00 00 ljmp *0x0(%rip) # 2109 <__GNU_EH_FRAME_HDR+0xf9>
|
||||
2109: 41 0e rex.B (bad)
|
||||
210b: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi)
|
||||
2111: 68 0c 07 08 00 push $0x8070c
|
||||
2116: 00 00 add %al,(%rax)
|
||||
2118: 1c 00 sbb $0x0,%al
|
||||
211a: 00 00 add %al,(%rax)
|
||||
211c: 9c pushf
|
||||
211d: 00 00 add %al,(%rax)
|
||||
211f: 00 57 f0 add %dl,-0x10(%rdi)
|
||||
2122: ff (bad)
|
||||
2123: ff 31 push (%rcx)
|
||||
2125: 00 00 add %al,(%rax)
|
||||
2127: 00 00 add %al,(%rax)
|
||||
2129: 41 0e rex.B (bad)
|
||||
212b: 10 86 02 43 0d 06 adc %al,0x60d4302(%rsi)
|
||||
2131: 6c insb (%dx),%es:(%rdi)
|
||||
2132: 0c 07 or $0x7,%al
|
||||
2134: 08 00 or %al,(%rax)
|
||||
...
|
||||
|
||||
0000000000002138 <__FRAME_END__>:
|
||||
2138: 00 00 add %al,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .init_array:
|
||||
|
||||
0000000000003e00 <__frame_dummy_init_array_entry>:
|
||||
3e00: 20 11 and %dl,(%rcx)
|
||||
3e02: 00 00 add %al,(%rax)
|
||||
3e04: 00 00 add %al,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .fini_array:
|
||||
|
||||
0000000000003e08 <__do_global_dtors_aux_fini_array_entry>:
|
||||
3e08: e0 10 loopne 3e1a <_DYNAMIC+0xa>
|
||||
3e0a: 00 00 add %al,(%rax)
|
||||
3e0c: 00 00 add %al,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .dynamic:
|
||||
|
||||
0000000000003e10 <_DYNAMIC>:
|
||||
3e10: 01 00 add %eax,(%rax)
|
||||
3e12: 00 00 add %al,(%rax)
|
||||
3e14: 00 00 add %al,(%rax)
|
||||
3e16: 00 00 add %al,(%rax)
|
||||
3e18: 22 00 and (%rax),%al
|
||||
3e1a: 00 00 add %al,(%rax)
|
||||
3e1c: 00 00 add %al,(%rax)
|
||||
3e1e: 00 00 add %al,(%rax)
|
||||
3e20: 0c 00 or $0x0,%al
|
||||
3e22: 00 00 add %al,(%rax)
|
||||
3e24: 00 00 add %al,(%rax)
|
||||
3e26: 00 00 add %al,(%rax)
|
||||
3e28: 00 10 add %dl,(%rax)
|
||||
3e2a: 00 00 add %al,(%rax)
|
||||
3e2c: 00 00 add %al,(%rax)
|
||||
3e2e: 00 00 add %al,(%rax)
|
||||
3e30: 0d 00 00 00 00 or $0x0,%eax
|
||||
3e35: 00 00 add %al,(%rax)
|
||||
3e37: 00 a8 11 00 00 00 add %ch,0x11(%rax)
|
||||
3e3d: 00 00 add %al,(%rax)
|
||||
3e3f: 00 19 add %bl,(%rcx)
|
||||
...
|
||||
3e49: 3e 00 00 ds add %al,(%rax)
|
||||
3e4c: 00 00 add %al,(%rax)
|
||||
3e4e: 00 00 add %al,(%rax)
|
||||
3e50: 1b 00 sbb (%rax),%eax
|
||||
3e52: 00 00 add %al,(%rax)
|
||||
3e54: 00 00 add %al,(%rax)
|
||||
3e56: 00 00 add %al,(%rax)
|
||||
3e58: 08 00 or %al,(%rax)
|
||||
3e5a: 00 00 add %al,(%rax)
|
||||
3e5c: 00 00 add %al,(%rax)
|
||||
3e5e: 00 00 add %al,(%rax)
|
||||
3e60: 1a 00 sbb (%rax),%al
|
||||
3e62: 00 00 add %al,(%rax)
|
||||
3e64: 00 00 add %al,(%rax)
|
||||
3e66: 00 00 add %al,(%rax)
|
||||
3e68: 08 3e or %bh,(%rsi)
|
||||
3e6a: 00 00 add %al,(%rax)
|
||||
3e6c: 00 00 add %al,(%rax)
|
||||
3e6e: 00 00 add %al,(%rax)
|
||||
3e70: 1c 00 sbb $0x0,%al
|
||||
3e72: 00 00 add %al,(%rax)
|
||||
3e74: 00 00 add %al,(%rax)
|
||||
3e76: 00 00 add %al,(%rax)
|
||||
3e78: 08 00 or %al,(%rax)
|
||||
3e7a: 00 00 add %al,(%rax)
|
||||
3e7c: 00 00 add %al,(%rax)
|
||||
3e7e: 00 00 add %al,(%rax)
|
||||
3e80: f5 cmc
|
||||
3e81: fe (bad)
|
||||
3e82: ff 6f 00 ljmp *0x0(%rdi)
|
||||
3e85: 00 00 add %al,(%rax)
|
||||
3e87: 00 a0 03 00 00 00 add %ah,0x3(%rax)
|
||||
3e8d: 00 00 add %al,(%rax)
|
||||
3e8f: 00 05 00 00 00 00 add %al,0x0(%rip) # 3e95 <_DYNAMIC+0x85>
|
||||
3e95: 00 00 add %al,(%rax)
|
||||
3e97: 00 58 04 add %bl,0x4(%rax)
|
||||
3e9a: 00 00 add %al,(%rax)
|
||||
3e9c: 00 00 add %al,(%rax)
|
||||
3e9e: 00 00 add %al,(%rax)
|
||||
3ea0: 06 (bad)
|
||||
3ea1: 00 00 add %al,(%rax)
|
||||
3ea3: 00 00 add %al,(%rax)
|
||||
3ea5: 00 00 add %al,(%rax)
|
||||
3ea7: 00 c8 add %cl,%al
|
||||
3ea9: 03 00 add (%rax),%eax
|
||||
3eab: 00 00 add %al,(%rax)
|
||||
3ead: 00 00 add %al,(%rax)
|
||||
3eaf: 00 0a add %cl,(%rdx)
|
||||
3eb1: 00 00 add %al,(%rax)
|
||||
3eb3: 00 00 add %al,(%rax)
|
||||
3eb5: 00 00 add %al,(%rax)
|
||||
3eb7: 00 88 00 00 00 00 add %cl,0x0(%rax)
|
||||
3ebd: 00 00 add %al,(%rax)
|
||||
3ebf: 00 0b add %cl,(%rbx)
|
||||
3ec1: 00 00 add %al,(%rax)
|
||||
3ec3: 00 00 add %al,(%rax)
|
||||
3ec5: 00 00 add %al,(%rax)
|
||||
3ec7: 00 18 add %bl,(%rax)
|
||||
3ec9: 00 00 add %al,(%rax)
|
||||
3ecb: 00 00 add %al,(%rax)
|
||||
3ecd: 00 00 add %al,(%rax)
|
||||
3ecf: 00 15 00 00 00 00 add %dl,0x0(%rip) # 3ed5 <_DYNAMIC+0xc5>
|
||||
...
|
||||
3edd: 00 00 add %al,(%rax)
|
||||
3edf: 00 03 add %al,(%rbx)
|
||||
3ee1: 00 00 add %al,(%rax)
|
||||
3ee3: 00 00 add %al,(%rax)
|
||||
3ee5: 00 00 add %al,(%rax)
|
||||
3ee7: 00 e8 add %ch,%al
|
||||
3ee9: 3f (bad)
|
||||
3eea: 00 00 add %al,(%rax)
|
||||
3eec: 00 00 add %al,(%rax)
|
||||
3eee: 00 00 add %al,(%rax)
|
||||
3ef0: 07 (bad)
|
||||
3ef1: 00 00 add %al,(%rax)
|
||||
3ef3: 00 00 add %al,(%rax)
|
||||
3ef5: 00 00 add %al,(%rax)
|
||||
3ef7: 00 20 add %ah,(%rax)
|
||||
3ef9: 05 00 00 00 00 add $0x0,%eax
|
||||
3efe: 00 00 add %al,(%rax)
|
||||
3f00: 08 00 or %al,(%rax)
|
||||
3f02: 00 00 add %al,(%rax)
|
||||
3f04: 00 00 add %al,(%rax)
|
||||
3f06: 00 00 add %al,(%rax)
|
||||
3f08: c0 00 00 rolb $0x0,(%rax)
|
||||
3f0b: 00 00 add %al,(%rax)
|
||||
3f0d: 00 00 add %al,(%rax)
|
||||
3f0f: 00 09 add %cl,(%rcx)
|
||||
3f11: 00 00 add %al,(%rax)
|
||||
3f13: 00 00 add %al,(%rax)
|
||||
3f15: 00 00 add %al,(%rax)
|
||||
3f17: 00 18 add %bl,(%rax)
|
||||
3f19: 00 00 add %al,(%rax)
|
||||
3f1b: 00 00 add %al,(%rax)
|
||||
3f1d: 00 00 add %al,(%rax)
|
||||
3f1f: 00 fb add %bh,%bl
|
||||
3f21: ff (bad)
|
||||
3f22: ff 6f 00 ljmp *0x0(%rdi)
|
||||
3f25: 00 00 add %al,(%rax)
|
||||
3f27: 00 00 add %al,(%rax)
|
||||
3f29: 00 00 add %al,(%rax)
|
||||
3f2b: 08 00 or %al,(%rax)
|
||||
3f2d: 00 00 add %al,(%rax)
|
||||
3f2f: 00 fe add %bh,%dh
|
||||
3f31: ff (bad)
|
||||
3f32: ff 6f 00 ljmp *0x0(%rdi)
|
||||
3f35: 00 00 add %al,(%rax)
|
||||
3f37: 00 f0 add %dh,%al
|
||||
3f39: 04 00 add $0x0,%al
|
||||
3f3b: 00 00 add %al,(%rax)
|
||||
3f3d: 00 00 add %al,(%rax)
|
||||
3f3f: 00 ff add %bh,%bh
|
||||
3f41: ff (bad)
|
||||
3f42: ff 6f 00 ljmp *0x0(%rdi)
|
||||
3f45: 00 00 add %al,(%rax)
|
||||
3f47: 00 01 add %al,(%rcx)
|
||||
3f49: 00 00 add %al,(%rax)
|
||||
3f4b: 00 00 add %al,(%rax)
|
||||
3f4d: 00 00 add %al,(%rax)
|
||||
3f4f: 00 f0 add %dh,%al
|
||||
3f51: ff (bad)
|
||||
3f52: ff 6f 00 ljmp *0x0(%rdi)
|
||||
3f55: 00 00 add %al,(%rax)
|
||||
3f57: 00 e0 add %ah,%al
|
||||
3f59: 04 00 add $0x0,%al
|
||||
3f5b: 00 00 add %al,(%rax)
|
||||
3f5d: 00 00 add %al,(%rax)
|
||||
3f5f: 00 f9 add %bh,%cl
|
||||
3f61: ff (bad)
|
||||
3f62: ff 6f 00 ljmp *0x0(%rdi)
|
||||
3f65: 00 00 add %al,(%rax)
|
||||
3f67: 00 03 add %al,(%rbx)
|
||||
...
|
||||
|
||||
Disassembly of section .got:
|
||||
|
||||
0000000000003fc0 <.got>:
|
||||
...
|
||||
|
||||
Disassembly of section .got.plt:
|
||||
|
||||
0000000000003fe8 <_GLOBAL_OFFSET_TABLE_>:
|
||||
3fe8: 10 3e adc %bh,(%rsi)
|
||||
...
|
||||
|
||||
Disassembly of section .data:
|
||||
|
||||
0000000000004000 <__data_start>:
|
||||
...
|
||||
|
||||
0000000000004008 <__dso_handle>:
|
||||
4008: 08 40 00 or %al,0x0(%rax)
|
||||
400b: 00 00 add %al,(%rax)
|
||||
400d: 00 00 add %al,(%rax)
|
||||
...
|
||||
|
||||
Disassembly of section .bss:
|
||||
|
||||
0000000000004010 <completed.0>:
|
||||
...
|
||||
|
||||
Disassembly of section .comment:
|
||||
|
||||
0000000000000000 <.comment>:
|
||||
0: 47 rex.RXB
|
||||
1: 43 rex.XB
|
||||
2: 43 3a 20 rex.XB cmp (%r8),%spl
|
||||
5: 28 44 65 62 sub %al,0x62(%rbp,%riz,2)
|
||||
9: 69 61 6e 20 31 32 2e imul $0x2e323120,0x6e(%rcx),%esp
|
||||
10: 32 2e xor (%rsi),%ch
|
||||
12: 30 2d 31 34 29 20 xor %ch,0x20293431(%rip) # 20293449 <_end+0x2028f431>
|
||||
18: 31 32 xor %esi,(%rdx)
|
||||
1a: 2e 32 2e cs xor (%rsi),%ch
|
||||
1d: 30 00 xor %al,(%rax)
|
||||
43
Four_stage_Compilation/test.c
Normal file
43
Four_stage_Compilation/test.c
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* =====================================================================================
|
||||
*
|
||||
* Filename: test.c
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* Version: 1.0
|
||||
* Created: 03/02/24 08:32:56 PM IST
|
||||
* Revision: none
|
||||
* Compiler: gcc
|
||||
*
|
||||
* Author: YOUR NAME (),
|
||||
* Organization:
|
||||
*
|
||||
* =====================================================================================
|
||||
*/
|
||||
|
||||
#include "test.h"
|
||||
#define SQUARE(x) (x*x)
|
||||
|
||||
#define DEFAULT_RADIUS 100
|
||||
|
||||
double
|
||||
compute_square(int x){
|
||||
|
||||
return SQUARE(x);
|
||||
}
|
||||
|
||||
double
|
||||
compute_circle_area(int radius){
|
||||
|
||||
return PI * compute_square(radius);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv){
|
||||
|
||||
int radius = 10;
|
||||
compute_circle_area(radius);
|
||||
compute_circle_area(DEFAULT_RADIUS);
|
||||
return 0;
|
||||
}
|
||||
19
Four_stage_Compilation/test.h
Normal file
19
Four_stage_Compilation/test.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* =====================================================================================
|
||||
*
|
||||
* Filename: test.h
|
||||
*
|
||||
* Description:
|
||||
*
|
||||
* Version: 1.0
|
||||
* Created: 03/02/24 08:36:25 PM IST
|
||||
* Revision: none
|
||||
* Compiler: gcc
|
||||
*
|
||||
* Author: YOUR NAME (),
|
||||
* Organization:
|
||||
*
|
||||
* =====================================================================================
|
||||
*/
|
||||
|
||||
#define PI 3.14
|
||||
BIN
Four_stage_Compilation/test.o
Normal file
BIN
Four_stage_Compilation/test.o
Normal file
Binary file not shown.
83
Four_stage_Compilation/test.s
Normal file
83
Four_stage_Compilation/test.s
Normal file
@@ -0,0 +1,83 @@
|
||||
.file "test1.c"
|
||||
.text
|
||||
.globl compute_square
|
||||
.type compute_square, @function
|
||||
compute_square:
|
||||
.LFB0:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
movl %edi, -4(%rbp)
|
||||
movl -4(%rbp), %eax
|
||||
imull %eax, %eax
|
||||
pxor %xmm0, %xmm0
|
||||
cvtsi2sdl %eax, %xmm0
|
||||
movq %xmm0, %rax
|
||||
movq %rax, %xmm0
|
||||
popq %rbp
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE0:
|
||||
.size compute_square, .-compute_square
|
||||
.globl compute_circle_area
|
||||
.type compute_circle_area, @function
|
||||
compute_circle_area:
|
||||
.LFB1:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
subq $8, %rsp
|
||||
movl %edi, -4(%rbp)
|
||||
movl -4(%rbp), %eax
|
||||
movl %eax, %edi
|
||||
call compute_square
|
||||
movsd .LC0(%rip), %xmm1
|
||||
mulsd %xmm1, %xmm0
|
||||
movq %xmm0, %rax
|
||||
movq %rax, %xmm0
|
||||
leave
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE1:
|
||||
.size compute_circle_area, .-compute_circle_area
|
||||
.globl main
|
||||
.type main, @function
|
||||
main:
|
||||
.LFB2:
|
||||
.cfi_startproc
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 6, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register 6
|
||||
subq $32, %rsp
|
||||
movl %edi, -20(%rbp)
|
||||
movq %rsi, -32(%rbp)
|
||||
movl $10, -4(%rbp)
|
||||
movl -4(%rbp), %eax
|
||||
movl %eax, %edi
|
||||
call compute_circle_area
|
||||
movl $100, %edi
|
||||
call compute_circle_area
|
||||
movl $0, %eax
|
||||
leave
|
||||
.cfi_def_cfa 7, 8
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE2:
|
||||
.size main, .-main
|
||||
.section .rodata
|
||||
.align 8
|
||||
.LC0:
|
||||
.long 1374389535
|
||||
.long 1074339512
|
||||
.ident "GCC: (Debian 12.2.0-14) 12.2.0"
|
||||
.section .note.GNU-stack,"",@progbits
|
||||
33
Four_stage_Compilation/test1.c
Normal file
33
Four_stage_Compilation/test1.c
Normal file
@@ -0,0 +1,33 @@
|
||||
# 0 "test.c"
|
||||
# 0 "<built-in>"
|
||||
# 0 "<command-line>"
|
||||
# 1 "/usr/include/stdc-predef.h" 1 3 4
|
||||
# 0 "<command-line>" 2
|
||||
# 1 "test.c"
|
||||
# 19 "test.c"
|
||||
# 1 "test.h" 1
|
||||
# 20 "test.c" 2
|
||||
|
||||
|
||||
|
||||
|
||||
double
|
||||
compute_square(int x){
|
||||
|
||||
return (x*x);
|
||||
}
|
||||
|
||||
double
|
||||
compute_circle_area(int radius){
|
||||
|
||||
return 3.14 * compute_square(radius);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv){
|
||||
|
||||
int radius = 10;
|
||||
compute_circle_area(radius);
|
||||
compute_circle_area(100);
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user