Slide 5
Slide 5 text
What is compiler? What does "compiling source" code mean?
What is compiler? What does "compiling source" code mean?
Translating source code into a binary form which a CPU can comprehend:
Translating source code into a binary form which a CPU can comprehend:
func hello() {
func hello() {
print("hello\n")
print("hello\n")
}
}
Into
Into
000000000044fa40 :
000000000044fa40 :
44fa40: 48 83 ec 18 sub $0x18,%rsp
44fa40: 48 83 ec 18 sub $0x18,%rsp
44fa44: 48 89 6c 24 10 mov %rbp,0x10(%rsp)
44fa44: 48 89 6c 24 10 mov %rbp,0x10(%rsp)
44fa49: 48 8d 6c 24 10 lea 0x10(%rsp),%rbp
44fa49: 48 8d 6c 24 10 lea 0x10(%rsp),%rbp
44fa4e: 48 8d 05 93 d1 02 00 lea 0x2d193(%rip),%rax # 47cbe8
44fa4e: 48 8d 05 93 d1 02 00 lea 0x2d193(%rip),%rax # 47cbe8
44fa55: 48 89 04 24 mov %rax,(%rsp)
44fa55: 48 89 04 24 mov %rax,(%rsp)
44fa59: 48 c7 44 24 08 06 00 movq $0x6,0x8(%rsp)
44fa59: 48 c7 44 24 08 06 00 movq $0x6,0x8(%rsp)
44fa60: 00 00
44fa60: 00 00
44fa62: e8 89 4d fd ff callq 4247f0
44fa62: e8 89 4d fd ff callq 4247f0
44fa67: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp
44fa67: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp
44fa6c: 48 83 c4 18 add $0x18,%rsp
44fa6c: 48 83 c4 18 add $0x18,%rsp
44fa70: c3 retq
44fa70: c3 retq