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