ความแตกต่างระหว่าง Assembler และคอมไพเลอร์

Anonim

Assembler vs Compiler

โดยทั่วไปคอมไพเลอร์เป็นโปรแกรมคอมพิวเตอร์ที่อ่านโปรแกรมที่เขียนในภาษาเดียวซึ่งก็คือ เรียกว่าภาษาต้นฉบับและแปลเป็นภาษาอื่นซึ่งเรียกว่าภาษาเป้าหมาย เดิมภาษาต้นทางเป็นภาษาระดับสูงเช่น C ++ และภาษาเป้าหมายเป็นภาษาระดับต่ำเช่นภาษา Assembly อย่างไรก็ตามมีคอมไพเลอร์ที่สามารถแปลงโปรแกรมต้นฉบับที่เขียนขึ้นในภาษา Assembly และแปลงเป็นรหัสเครื่องหรือรหัสอ็อบเจ็กต์ Assemblers เป็นเครื่องมือดังกล่าว ดังนั้นผู้ประกอบการและคอมไพเลอร์ในท้ายที่สุดจะผลิตรหัสที่สามารถทำงานได้โดยตรงบนเครื่อง

คอมไพเลอร์คืออะไร?

คอมไพเลอร์เป็นโปรแกรมคอมพิวเตอร์ที่อ่านโปรแกรมที่เขียนขึ้นในภาษาเดียวซึ่งเรียกว่าภาษาต้นทางและแปลเป็นภาษาอื่นซึ่งเรียกว่าภาษาเป้าหมาย โดยส่วนใหญ่แล้วภาษาต้นฉบับเป็นภาษาระดับสูงและภาษาเป้าหมายเป็นภาษาระดับต่ำ ดังนั้นในคอมไพเลอร์ทั่วไปสามารถมองเห็นเป็นตัวแปลที่แปลจากภาษาหนึ่งไปยังอีกภาษาหนึ่ง นอกจากนี้คอมไพเลอร์ยังเพิ่มประสิทธิภาพให้กับโค้ดอีกด้วย คอมไพเลอร์ทั่วไปประกอบขึ้นจากส่วนประกอบหลักหลายอย่าง ส่วนประกอบแรกคือเครื่องสแกนเนอร์ (หรือที่เรียกว่าเครื่องวิเคราะห์คำศัพท์) เครื่องสแกนเนอร์อ่านโปรแกรมและแปลงเป็นสตริงของโทเค็น คอมโพเนนต์ที่สองคือ parser มันแปลงสตริงของโทเค็นในต้นไม้แยก (หรือต้นไม้นามธรรมซินแท็คซ์) ซึ่งจะรวบรวมโครงสร้างประโยคของโปรแกรม องค์ประกอบถัดไปคือความหมายของความหมายที่ตีความความหมายของโครงสร้างประโยค การเพิ่มประสิทธิภาพรหัสและการสร้างรหัสขั้นสุดท้ายเป็นไปตามนี้

Assembler คืออะไร?

Assembler คือซอฟต์แวร์หรือเครื่องมือที่แปลภาษา Assembly ลงในรหัสเครื่อง ดังนั้นแอสเซมบลีเป็นชนิดของคอมไพเลอร์และซอร์สโค้ดเขียนด้วยภาษา Assembly แอสเซมบลีเป็นภาษาที่มนุษย์สามารถอ่านได้ แต่มักมีความสัมพันธ์แบบหนึ่งต่อหนึ่งรหัสเครื่อง ดังนั้นผู้ประกอบการกล่าวว่าจะดำเนินการ isomorphic (หนึ่งต่อหนึ่งแผนที่) ผู้ประกอบการขั้นสูงมีคุณสมบัติเพิ่มเติมที่สนับสนุนการพัฒนาโปรแกรมและกระบวนการแก้จุดบกพร่อง ตัวอย่างเช่นประเภทของผู้ประกอบการที่เรียกว่าผู้ประกอบการแมโครจะมีสิ่งอำนวยความสะดวกมาโคร

ความแตกต่างระหว่าง Assembler และ Compiler คืออะไร?

คอมไพเลอร์เป็นโปรแกรมคอมพิวเตอร์ที่อ่านโปรแกรมที่เขียนขึ้นในภาษาเดียวและแปลเป็นภาษาอื่นในขณะที่แอ็กเซิลเลอร์สามารถถูกพิจารณาว่าเป็นคอมไพเลอร์ประเภทพิเศษซึ่งแปลเฉพาะภาษา Assembly กับรหัสเครื่องเท่านั้น คอมไพเลอร์มักจะผลิตรหัสปฏิบัติการของเครื่องโดยตรงจากภาษาระดับสูง แต่ผู้ประกอบการผลิตโค้ดอ็อบเจ็กต์ซึ่งอาจต้องมีการเชื่อมโยงโดยใช้โปรแกรม linker เพื่อที่จะรันบนเครื่องเนื่องจากแอสเซมบลีภาษามีการแม็ป one-one map ด้วยรหัสเครื่อง assembler อาจใช้สำหรับการสร้างโค้ดที่ทำงานได้อย่างมีประสิทธิภาพสำหรับโอกาสที่ประสิทธิภาพเป็นสิ่งที่สำคัญมาก (เช่นเครื่องมือกราฟิก, ระบบฝังตัวที่มีทรัพยากรฮาร์ดแวร์ จำกัด เมื่อเทียบกับคอมพิวเตอร์ส่วนบุคคล เช่นไมโครเวฟเครื่องซักผ้า ฯลฯ)