Skip to main content
0

สารจากผู้เขียน

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

เขียนโดย
Papatsiri Apipaiboon
Internship @ borntoDev

บทความนี้ตีพิมพ์ และ เผยแพร่เมื่อ 13 กันยายน 2566

ทำความรู้จักกับ Assembly Language

ภาษา Assembly ใช้ในการเขียนโปรแกรมที่สื่อสารตรงกับ “สมองคอมพิวเตอร์” ซึ่งก็คือตัวประมวลผลของเครื่องคอมพิวเตอร์นั่นแหละ ภาษานี้อาจจะเรียนรู้ยากและต้องเขียนโค้ดยาวกว่าภาษาระดับสูง เช่น C, Java, Python และภาษาอื่นๆ แต่มันมีประสิทธิภาพที่สูงกว่า และใช้พื้นที่ในหน่วยความจำน้อยกว่าภาษาอื่นมาก เมื่อนักพัฒนาเขียนโปรแกรมด้วยภาษา Assembly แล้ว ต้องใช้ตัวแปลภาษาที่เรียกว่า Assembler เพื่อแปลภาษา Assembly ให้เป็นภาษาเครื่อง (Machine Language) จึงจะสามารถสั่งงานคอมพิวเตอร์ให้ทำงานได้

ทำไมต้องสนใจ Assembly Language ?

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

โครงสร้างของ Assembly Language
โครงสร้างของภาษา Assembly  มี 4 ส่วนหลักที่เราควรรู้

  1. Label เหมือนกับชื่อที่ใช้ในการอ้างอิงบรรทัดของโปรแกรม เป็นวิธีที่เราใช้เพื่อระบุตำแหน่งของคำสั่งหรือข้อมูลในโปรแกรมของเรา
  2. Mnemonic code เป็นคำสั่งที่กำหนดให้ Micro controller ทำงานต่างๆ หรือก็คือ Opcode นั่นแหละ เช่น ADD ใช้ในการบวกค่าระหว่างข้อมูล, MOV ใช้ในการเคลื่อนย้ายข้อมูล, LOOP ใช้ในการทำซ้ำของโค้ด เป็นต้น
  3. Operand เป็นข้อมูลหรือค่า เพื่อทำตามคำสั่งที่กำหนดโดย Mnemonic code เช่น ในคำสั่ง MOV AX, 5 ตัวเลข 5 คือ Operand
  4. Comment เป็นส่วนที่เราเขียนเพื่ออธิบายหรือบอกเพิ่มเติมเกี่ยวกับโค้ด ช่วยให้เราและผู้อื่นที่อ่านโปรแกรมเข้าใจว่าโค้ดนี้ทำอะไรหรือทำงานอย่างไร

หลังจากเตรียมองค์ประกอบทั้งหมดนี้ เราก็สามารถเริ่มต้นเขียนโปรแกรม Assembly ได้ และสามารถใช้ Assembler เพื่อแปลงโค้ด Assembly เป็นภาษาเครื่อง (Machine Language) ที่คอมพิวเตอร์เข้าใจ เมื่อโปรแกรมของเราเสร็จสมบูรณ์ ก็สามารถทดสอบ และตรวจสอบการทำงานของโปรแกรมด้วย Emulator หรือ Debugger ที่เราได้เตรียมไว้ แนะนำว่าให้ลองเริ่มต้นด้วยโค้ดที่ง่าย หรือทำเป็นโปรเจคเล็กๆก่อน เพื่อทดสอบกระบวนการเขียนและแปลงโปรแกรม Assembly ให้ทำงานได้อย่างถูกต้อง

แนะนำ Extension สำหรับเขียน Assembly บน VS Code

1. MASM/TASM Extension ตัวเด็ด ช่วยจัด format ได้ แต่หลักๆ จะใช้ในการ Run และ Debug Assembly โค้ด ใน Environment ของ DOSBox ซึ่งรันได้ทั้ง MASM และ TASM เลยนะ โดยการใช้งานก็ง่ายมากๆแค่คลิกขวาบนไฟล์ จากนั้นก็เลือกว่าจะเปิด Emulator, Run ASM code, หรือ Debug ASM code ก็ได้เลย

2. x86 and x86_64 Assembly เป็นคำสั่งที่กำหนดให้ Micro controller ทำงานต่างๆ หรือก็คือ Opcode นั่นแหละ เช่น ADD ใช้ในการบวกค่าระหว่างข้อมูล, MOV ใช้ในการเคลื่อนย้ายข้อมูล, LOOP ใช้ในการทำซ้ำของโค้ด เป็นต้น

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

ระบบฝึกทักษะ การเขียนโปรแกรม

ที่พร้อมตรวจผลงานคุณ 24 ชั่วโมง

  • โจทย์ปัญหากว่า 200 ข้อ ที่รอท้าทายคุณอยู่
  • รองรับ 9 ภาษาโปรแกรมหลัก ไม่ว่าจะ Java, Python, C ก็เขียนได้
  • ใช้งานได้ฟรี ! ครบ 20 ข้อขึ้นไป รับ Certificate ไปเลย !!
เข้าใช้งานระบบ DevLab ฟรี !เรียนรู้เพิ่มเติม

เรียนรู้ไอที “อัพสกิลเขียนโปรแกรม” จากตัวจริง
ปั้นให้คุณเป็น คนสายไอทีระดับมืออาชีพ

BorntoDev

Author BorntoDev

BorntoDev Co., Ltd.

More posts by BorntoDev

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

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

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

  • คุกกี้สำหรับการติดตามทางการตลาด

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

บันทึกการตั้งค่า