คำสั่งแมโครคืออะไร

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

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

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

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

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