TLDR; Compiler คือโปรแกรมแปลงภาษาโคด ให้เป็นภาษาเครื่องที่ CPU เข้าใจ
Compiler คือโปรแกรมคอมพิวเตอร์ มันแปลภาษาการเขียนโปรแกรมระดับสูง (C, C++) เป็น binary execution สำหรับ CPU เฉพาะ.
เพราะ CPU จริงๆแล้วคือ logic circuit การที่จะให้มันทำคำสั้งให้เข้าใจต้องกำหนดว่า ถ้าไฟ 4 เส้นแรกเป็น 0011 ให้เอาไฟ 4 เส้นหลังไปทำค่าอะไรต่อ ตัว bit ที่เป็นคำสั้งเพราะเรียกว่า operation code มีตั้งแต่ add, jump, shift, check และอื่นๆ.
ภาษา assembly ก็เอา operation code ตรงนี้แหละมาเขียนเป็นชื่อ function ให้เข้าใจง่าย.
แล้วต่อมาก็มีภาษา c ที่ก็แปลงกลับเป็น assembly แล้วก็แปลงกลับเป็น instruction set (operation code + params) แล้วแปลงกลับไปเป็นฟ้าหลายๆเส้นให้ logic gate ทำงาน
CPU = logic gate
CPU ส่วนมากแค่อ่านคำสั้ง กับแก้ memory
ตัวอย่าง assembly instruction ที่มีทั้ง operation code และ params, ด้านขวาเป็น memory (register)
instruction เหมือนกัน แต่เขียนในรูปสมการ math
ตัวอย่าง instruction ที่มองเป็น binary จริงๆ