ความแตกต่างที่สำคัญ – ภาษาเครื่องกับภาษาแอสเซมบลี
ภาษาโปรแกรมทำให้มนุษย์สร้างคำสั่งให้คอมพิวเตอร์ทำงาน ภาษาโปรแกรมมีสามประเภท เช่น ภาษาโปรแกรมระดับสูง ภาษาแอสเซมบลี และภาษาเครื่อง ภาษาโปรแกรมระดับสูงนั้นมนุษย์เข้าใจง่ายขึ้น ภาษาที่คอมพิวเตอร์รู้จักเรียกว่าภาษาเครื่อง ภาษาแอสเซมบลีคือภาษาระหว่างภาษาระดับสูงกับภาษาเครื่อง ความแตกต่างที่สำคัญระหว่างภาษาเครื่องและภาษาแอสเซมบลีคือ ภาษาเครื่องดำเนินการโดยตรงโดยคอมพิวเตอร์ และภาษาแอสเซมบลีต้องการแอสเซมเบลอร์เพื่อแปลงเป็นรหัสเครื่องหรือโค้ดอ็อบเจ็กต์เพื่อรันโดย CPU
ภาษาเครื่องคืออะไร
มนุษย์สามารถเข้าใจภาษาโปรแกรมระดับสูงได้ ไม่จำเป็นต้องมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับ CPU ภายใน เพื่อตั้งโปรแกรมโดยใช้ภาษาระดับสูง พวกเขาปฏิบัติตามไวยากรณ์ที่คล้ายกับภาษาอังกฤษ Java, C, C++, Python เป็นภาษาโปรแกรมระดับสูงบางภาษา คอมพิวเตอร์รู้จักภาษาเครื่องแต่ไม่เข้าใจภาษาระดับสูง ดังนั้นโปรแกรมเหล่านั้นควรแปลงเป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจได้ การแปลนี้ใช้คอมไพเลอร์หรือล่าม
รูปที่ 01: ภาษาเครื่องของศูนย์และคน
ภาษาเครื่องประกอบด้วยเลขฐานสองที่เป็นศูนย์และหนึ่งครั้ง คอมพิวเตอร์เป็นอุปกรณ์อิเล็กทรอนิกส์ดิจิทัล ดังนั้นจึงใช้เลขฐานสองในการดำเนินการ หนึ่งระบุสถานะจริง / สถานะเปิดในขณะที่ศูนย์ระบุสถานะ / ปิดสถานะเท็จ วิธีการแปลงโปรแกรมจากภาษาระดับสูงเป็นภาษาเครื่องขึ้นอยู่กับ CPU
ภาษาแอสเซมบลีคืออะไร
ภาษาแอสเซมบลีเป็นภาษากลางระหว่างภาษาโปรแกรมระดับสูงกับภาษาเครื่อง มันอยู่เหนือภาษาเครื่องหนึ่งระดับ ภาษาแอสเซมบลีเข้าใจง่ายกว่าภาษาเครื่อง แต่ยากกว่าภาษาโปรแกรมระดับสูง ภาษานี้เรียกอีกอย่างว่าภาษาระดับต่ำเพราะอยู่ใกล้กับระดับฮาร์ดแวร์ ในการเขียนโปรแกรมที่มีประสิทธิภาพโดยใช้ Assembly โปรแกรมเมอร์ควรมีความเข้าใจสถาปัตยกรรมคอมพิวเตอร์และโครงสร้างการลงทะเบียนเป็นอย่างดีคอมไพเลอร์พิเศษที่เรียกว่าแอสเซมเบลอร์ใช้เพื่อแปลงคำสั่งภาษาแอสเซมบลีเป็นรหัสเครื่องหรือรหัสอ็อบเจ็กต์
คำสั่งภาษาแอสเซมบลีมีสี่ส่วน เป็นป้ายกำกับ ตัวช่วยความจำ ตัวถูกดำเนินการ ข้อคิดเห็น ป้ายกำกับและความคิดเห็นเป็นทางเลือก Mnemonic คือคำสั่งในการดำเนินการและตัวถูกดำเนินการคือพารามิเตอร์สำหรับคำสั่ง ภาษาแอสเซมบลียังรองรับมาโคร มาโครสามารถกำหนดเป็นชุดคำสั่งที่มีชื่อได้ สามารถใช้ที่อื่นในโปรแกรม
ตัวอย่างบางส่วนของคำสั่งภาษาแอสเซมบลีมีดังนี้
MOV SUM, 50 – คำแนะนำนี้ คัดลอกค่า 50 ไปยังตัวแปร SUM
ADD VALUE1, 20 – นี่คือการเพิ่ม 20 ให้กับตัวแปร VALUE1
ADD AH, BH – คำแนะนำนี้คือคัดลอกเนื้อหาในการลงทะเบียน AH ไปยัง BH register
INC COUNT – นี่คือการเพิ่มตัวแปร COUNT ทีละตัว
AND VALUE1, 100 – เพื่อดำเนินการ AND กับตัวแปร VALUE1 และ 100
MOV AL, 20 – นี่คือการคัดลอกค่า 20 ไปยัง AL register
รูปที่ 02: โปรแกรมที่เขียนโดยใช้ภาษาแอสเซมบลี
Set of Assembly เป็นโปรแกรมการประกอบ จะเห็นว่าภาษาแอสเซมบลีง่ายกว่าภาษาเครื่อง มีไวยากรณ์คล้ายกับภาษาอังกฤษ ภาษาแอสเซมบลีมีคำสั่งประมาณสามสิบคำสั่ง หน่วยความจำที่ต้องการและเวลาดำเนินการขั้นต่ำเมื่อเทียบกับภาษาระดับสูง
ในระบบเรียลไทม์ อาจมีเหตุการณ์ที่ต้องดำเนินการกับ CPU ทันที เหตุการณ์เหล่านี้เป็นรูทีนย่อยพิเศษที่เรียกว่า Interrupt service Routine (ISR) ภาษาแอสเซมบลีมีประโยชน์สำหรับการเขียนโปรแกรม ISR
ภาษาเครื่องและภาษาแอสเซมบลีมีความคล้ายคลึงกันอย่างไร
ทั้งภาษาเครื่องและภาษาแอสเซมบลีเกี่ยวข้องกับระดับฮาร์ดแวร์
ภาษาเครื่องและภาษาแอสเซมบลีต่างกันอย่างไร
ภาษาเครื่องเทียบกับภาษาประกอบ |
|
ภาษาเครื่องเป็นภาษาการเขียนโปรแกรมระดับต่ำสุดที่คำสั่งดำเนินการโดยตรงจาก CPU | ภาษาแอสเซมบลีเป็นภาษาการเขียนโปรแกรมระดับต่ำซึ่งต้องใช้แอสเซมเบลอร์เพื่อแปลงเป็นรหัสเครื่อง/รหัสวัตถุ |
ความเข้าใจ | |
คอมพิวเตอร์เข้าใจภาษาเครื่องเท่านั้น | ภาษาแอสเซมบลีนั้นมนุษย์เข้าใจได้ |
ไวยากรณ์ | |
ภาษาเครื่องประกอบด้วยเลขฐานสอง | ภาษาแอสเซมบลีตามไวยากรณ์ที่คล้ายกับภาษาอังกฤษ |
การพึ่งพาอาศัย | |
ภาษาเครื่องจะแตกต่างกันไปตามแพลตฟอร์ม | ภาษาแอสเซมบลีประกอบด้วยชุดคำสั่งมาตรฐาน |
แอพพลิเคชั่น | |
ภาษาเครื่องคือรหัสเครื่อง | ภาษาแอสเซมบลีใช้สำหรับระบบเรียลไทม์ที่ใช้ไมโครโปรเซสเซอร์ |
สรุป – ภาษาเครื่องเทียบกับภาษาแอสเซมบลี
ความแตกต่างระหว่างภาษาเครื่องและภาษาแอสเซมบลีคือภาษาเครื่องถูกดำเนินการโดยตรงจากคอมพิวเตอร์และภาษาแอสเซมบลีเป็นภาษาการเขียนโปรแกรมระดับต่ำซึ่งต้องใช้แอสเซมเบลอร์เพื่อแปลงเป็นรหัสวัตถุหรือรหัสเครื่องภาษาแอสเซมบลีล้ำหน้าภาษาเครื่องหนึ่งก้าว ภาษาแอสเซมบลีเป็นภาษาในอุดมคติสำหรับการเขียนโปรแกรมระบบที่ใช้ไมโครคอนโทรลเลอร์ ภาษานี้ยังให้ความเข้าใจที่ดีเกี่ยวกับวิธีการทำงานของ CPU และเกี่ยวกับส่วนประกอบภายในของคอมพิวเตอร์
ดาวน์โหลดเวอร์ชัน PDF ของภาษาเครื่องเทียบกับภาษาแอสเซมบลี
คุณสามารถดาวน์โหลดไฟล์ PDF ของบทความนี้และใช้เพื่อวัตถุประสงค์ออฟไลน์ตามหมายเหตุอ้างอิง โปรดดาวน์โหลดไฟล์ PDF ที่นี่ความแตกต่างระหว่างภาษาเครื่องและภาษาแอสเซมบลี
เอื้อเฟื้อภาพ:
1.'Machine language'By Turkei89 – Own work, (CC BY-SA 3.0) via Commons Wikimedia
2.'Zstr นับ x86 assembly' โดย OldCodger2, (โดเมนสาธารณะ) via Commons Wikimedia