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