ภาษาแอสเซมบลีคืออะไร
ภาษาแอสเซมบลีเป็นภาษาระดับต่ำที่เฉพาะกับสถาปัตยกรรมคอมพิวเตอร์เฉพาะ โดยการเปรียบเทียบภาษาการเขียนโปรแกรมระดับสูงจำนวนมากสามารถใช้กับสถาปัตยกรรมหลาย ๆ สถาปัตยกรรม แต่จำเป็นต้องมีการตีความหรือรวบรวมก่อนที่จะถึงโปรเซสเซอร์
ทำลายภาษาแอสเซมบลี
ภาษาแอสเซมบลีส่วนใหญ่ถูกแทนที่ด้วยภาษาการเขียนโปรแกรมระดับสูง วิศวกรซอฟต์แวร์ต้องการเขียนแอปพลิเคชั่นเดียวที่ใช้งานได้กับพีซีทุกเครื่องไม่ว่าพวกเขาจะมีโปรเซสเซอร์ของ Intel หรือ AMD หรือไม่ก็ตามโดยใช้ภาษาระดับสูง โดยการเปรียบเทียบพวกเขาจะต้องเขียนแอปพลิเคชันแยกต่างหากสำหรับสถาปัตยกรรมคอมพิวเตอร์แต่ละประเภทโดยใช้ภาษาแอสเซมบลี แอปพลิเคชันเหล่านี้จะบำรุงรักษายากมากเนื่องจากการอัปเดตทุกครั้งจะมีการอัพเดทแอปพลิเคชันหลาย ๆ แบบ
คำแนะนำพื้นฐานที่สุดที่ดำเนินการโดยคอมพิวเตอร์คือรหัสไบนารี่ซึ่งประกอบด้วยคำสั่งและเลขศูนย์เนื่องจากสามารถแปลได้โดยตรงในสถานะเปิดและปิดสำหรับกระแสไฟฟ้าที่เคลื่อนที่ผ่านโปรเซสเซอร์ แน่นอนว่ามันเป็นไปไม่ได้สำหรับวิศวกรซอฟต์แวร์ - หรือคนอื่น ๆ - ในการแปลข้อมูลเป็นค่าศูนย์และดังนั้นภาษาแอสเซมบลีได้รับการพัฒนาเพื่อให้กระบวนการง่ายขึ้น ภาษาแอสเซมบลีเหล่านี้ยังคงเกี่ยวข้องกับการแปลรหัสงานจำนวนมากในสถาปัตยกรรมที่แตกต่างกัน
ที่กล่าวว่าภาษาแอสเซมบลียังคงพบได้ทั่วไปในบางตลาดที่ต้องการความเร็วและประสิทธิภาพสูง โปรแกรมจำลองการบินอาจใช้สถาปัตยกรรมที่มีความเชี่ยวชาญสูงซึ่งภาษาระดับสูงไม่ทำงานซึ่งหมายความว่าภาษาแอสเซมบลีอาจจำเป็น การดำเนินการซื้อขายด้วยความถี่สูงอาจใช้ภาษาแอสเซมบลีเนื่องจากสามารถดำเนินการวิเคราะห์และทำธุรกรรมได้เร็วกว่าภาษาระดับสูงซึ่งอาจส่งผลให้รายได้การซื้อขายและผลกำไรที่ดีขึ้นเมื่อเทียบกับการแข่งขัน
ตัวอย่างภาษาแอสเซมบลี
ภาษาแอสเซมบลีส่งเส้นทางไปยังโปรเซสเซอร์หน่วยความจำและส่วนประกอบคอมพิวเตอร์อื่น ๆ คำแนะนำเหล่านี้เป็นรหัสไบนารีเวอร์ชันนามธรรมที่มีความเป็นนามธรรมมากกว่าเล็กน้อยซึ่งประกอบไปด้วยรหัสและศูนย์ ตัวอย่างเช่นรหัส 10110000 01100001 บอกให้โปรเซสเซอร์ดำเนินการย้ายค่า 8 บิตไปยังรีจิสเตอร์ โดยใช้รูปแบบเลขฐานสิบหกคำแนะนำเหล่านี้สามารถย่อให้เหลือเพียง B0 61 ภาษาแอสเซมบลีทำให้สิ่งนี้เข้าใจได้ง่ายขึ้นโดยการแนะนำตัวดำเนินการเช่น MOV AL, 61h ซึ่ง MOV เป็นตัวย่อสำหรับ "ย้าย"
ภาษาโปรแกรมระดับสูงมักจัดการกับงานเหล่านี้โดยอัตโนมัติและให้วิศวกรซอฟต์แวร์มุ่งเน้นไปที่งานระดับสูงกว่ามากเช่นการกำหนดตัวแปรและการดำเนินการให้เสร็จสิ้น ตัวอย่างเช่นวิศวกรซอฟต์แวร์อาจกำหนดตัวแปรใน JavaScript โดยใช้ let myVariable = 123 และตัวแปรนั้นจะได้รับการกำหนดสถานที่ในหน่วยความจำโดยอัตโนมัติตามขนาดของจำนวนเต็ม 123 และปัจจัยอื่น ๆ วิศวกรซอฟต์แวร์ไม่ต้องกังวลกับการจัดการหน่วยความจำและสามารถมุ่งเน้นไปที่สิ่งที่ตัวแปรกำลังทำอยู่