ดิสแอสแซมเบลอร์

ชื่อผู้จัดทำโครงงานวิทยาศาสตร์
  • เฉลิมพล มีดวง

อาจารย์ที่ปรึกษาโครงงานวิทยาศาสตร์
  • สมเดช นิยะมานนท์

สถาบันการศึกษาที่กำกับดูแลโครงงานวิทยาศาสตร์

คณะวิทยาศาสตร์ มหาวิทยาลัยทักษิณ

ระดับการศึกษา

โครงงานในระดับการศึกษาปริญญาโทขึ้นไป

หมวดวิชา

โครงงานในสาขาวิชาคอมพิวเตอร์

วันที่จัดทำโครงงานวิทยาศาสตร์

01 มกราคม 2541

บทคัดย่อโครงงานวิทยาศาสตร์

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