Thursday, November 15, 2007

ภาษาระดับต่ำหรือภาษาแอสเซมบลี

เป็นภาษาที่มีการใช้สัญลักษณ์ข้อความ(mnemonic codes)แทนกลุ่มของเลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจำมากกว่าภาษาเครื่อง ตัวอย่างเช่นมีการใช้สัญลักษณ์ต่อไปนี้ Aย่อมาจาก ADDหมายถึงการบวก Sย่อมาจากSUBTRACTหมายถึงการลบ Cย่อมาจากCOMPLARE หมายถึงการเปรียบเทียบ MPย่อมาจากMULTIPLYหมายถึงการคูณ STย่อมาจาก SRORE หมายถึงการเก็บข้อมูลไว้ในหน่วยความจำ เป็นต้น ถึงแม้ว่าสัญลักษณ์เหล่านี้จะไม่ใช่คำที่มีความหมายในภาษาอังกฤษแต่ก็ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรม ได้สะดวกสะบายมากขึ้น เนื่องจากไม่ต้องสะดวกสบายมากขึ้น เนื่องจากไม่ต้องจดจำ0และ1ของเลขฐานสองอีกนอกจากนี้ ภาษาแอสเซมบลียังอนุญาติให้ผู้เขียนใช้ตัวแปรที่ตั้งขึ้นมาเองในการเก็บค่าข้อมมูลใดๆเช่นX, Y, RATEหรือTOTAL แทนการอ้างอิงถึงตำแหน่งที่เก็บข้อมูลจริงๆ ภายในหน่วยความจำ ดังได้กล่าวแล้วว่าเครื่องคอมพิวเตอร์จะรู้จักเฉพาะภาษาเครื่องเท่านั้นดังนั้นจึงจำเป็นที​่จะต้องมีการแปล โปรแกรมภาษาแอสเซมบลีนั้นให้เป็นภาษาเครื่องเสียก่อนเพื่อให้คอมพิวเตอร์สามารถทำงานตามคำส​ั่งในโปรแกรม ได้การแปลภาษาแอสเซมบลีเป็นภาษาเครื่องนั้นจะต้องมีตัวแปลภาษาแอสเซมบลีที่เรียกว่าแอสเซมเบลอร์(Assembler)เป็นตัวแปลซึ่งภาษาแอสเซมบลี1คำสั่งจะสามารถแปลเป็นภาษาเครื่องได้1 คำสั่งเช่นกัน ดังนั้นเขียนโปรแกรมภาษาแอสเซมบลี 10คำสั่ง ก็จะถูกแปลเป็นภาษาเครื่อง10คำสั่งเช่นกันจึงเห็นได้ว่าภาษาแอสเซมบลีจะมีลักษณะที่เหมือนกับภาษาเครื่องคือเป็นภาษาที่ขึ้นอยู่กับเครื่อง กล่าวคือเราไม่สามารถนำโปรแกรมที่เขียนด้วยแอสเซมบลี โปรแกรมเดียวกันไปใช้ในเครื่องต่างชนิดกันได้และนอกจากนี้ผู้ที่จะเขียนโปรแกรมภาษาแอสเซมบลีได้จะต้องมีความรู้ ความเข้าใจในเรื่องของฮาร์ดแวร์เป็นอย่างดีเน​ื่องจากจะต้องยุ่งเกี่ยวกับการใช้งานหน่วยความจำที่เป็นงานหน่วยความจำ ที่เป็นรีจิสเตอร์ภายในตลอดดังนั้นจึงเหมาะที​่จะใช้เขียนในงานที่ต้องการความเร็วในการทำงานสูง เช่น งานทางด้านกราฟิกหรืองานพัฒนาซอฟต์แวร์ระบบต่าง ๆ อย่างไรก็ตามถึงแม้ว่าภาษานี้จะง่ายกว่าการเข​ียนด้วยภาษาเครื่อง แต่ก็ยังถือว่าเป็นภาษาชั้นต่ำที่ยังยากต่อการเขียนและ การเรียนรู้มากสำหรับผู้ที่ไม่ความรู้เกี่ยวก​ับฮาร์ดแวร์เท่าใดนัก

No comments: