วันอาทิตย์ที่ 7 กรกฎาคม พ.ศ. 2556

รหัส ASCII

รหัสแอสกี้ (ASCII) ย่อมาจาก American Standard Code for Information Interchange เป็นรหัสที่กำหนดขึ้นโดยหน่วยงานกำหนดมาตรฐานของสหรัฐอเมริการหัสอักขระแต่ละตัวประกอบด้วย ๘ บิต
บิตที่ ๔ ถึง ๗ เป็นส่วนที่ใช้กำหนดประเภทของตัวอักขระ
๐๐๑๐
เครื่องหมายต่าง ๆ
๐๐๑๑
ตัวเลขและเครื่องหมายต่างๆ
๐๑๐๐
A-O
๐๑๐๑
P-Z และเครื่องหมายต่าง ๆ
๐๑๑๐
a-o
๐๑๑๐
p-z และเครื่องหมายต่าง ๆ
บิตที่ ๐ ถึง ๓ เป็นรหัสแทนอักขระแต่ละตัวในกลุ่มนั้น
คอมพิวเตอร์ทำงานด้วยหลักการทางอิเล็กทรอนิกส์ ที่แทนสัญญาณทางไฟฟ้าด้วยตัวเลขศูนย์และหนึ่งซึ่งเป็นตัวเลขในระบบเลขฐานสอง แต่ละหลักเรียกว่าบิต (Binary Digit: Bit)   และเมื่อนำตัวเลขหลาย ๆ บิตมาเรียงกัน จะใช้สร้างรหัสแทนความหมายจำนวน หรือตัวอักษร หรือสัญลักษณ์ ทั้งภาษาอังกฤษและภาษาไทยได้ และเพื่อให้การแลกเปลี่ยนข้อความระหว่างมนุษย์กับคอมพิวเตอร์เป็นไปในแนวเดียวกัน จึงมีการกำหนดมาตรฐานรหัสตัวเลขในระบบเลขฐานสองสำหรับแทนสัญลักษณ์เหล่านี้ รหัสมาตรฐานที่นิยมใช้กันมากมีสองกลุ่มคือ
รหัสแอสกี้  (ASCII) เป็นมาตรฐานที่นิยมใช้กันมากในระบบคอมพิวเตอร์ส่วนใหญ่ เป็นคำย่อมาจากAmerican Standard Code Information Interchange เป็นรหัส ๘ บิต แทนสัญลักษณ์ต่าง ๆ ได้ ๒๕๖ ตัว เมื่อใช้แทนตัวอักษรภาษาอังกฤษแล้วยังมีเหลืออยู่ สำนักงานมาตรฐานผลิตภัณฑ์อุตสาหกรรม หรือ สมอ. ได้กำหนดรหัสภาษาไทยเพิ่มลงไปเพื่อให้ใช้งานร่วมกันได้ ตามตารางที่  ๔.๑  การแทนค่าแทนค่าด้วยตัวเลขแนวตั้ง(b – b)ก่อน แล้วตามด้วยตัวเลขแนวนอน(b – b๐) เช่น   ก ๑๐๑๐๐๐๐๑   และ  A  ๐๑๐๐๐๐๐๑   
ตารางที่ ๔.๑  รหัส ASCII  แทนตัวอักษรภาษาอังกฤษและภาษาไทย


หน่วยความจำของไมโครคอมพิวเตอร์ที่ใช้กันอยู่ในขณะนี้ มีขนาดความกว้าง ๘ บิต และเก็บข้อมูลเรียงกันไป โดยมีการกำหนดตำแหน่งซึ่งเรียกว่า เลขที่อยู่ (Address)  เพื่อให้ข้อมูลที่เก็บมีความถูกต้อง การเขียนหรืออ่านทุกครั้งจึงต้องตรวจสอบความถูกต้องของข้อมูล วิธีที่ง่ายและนิยมใช้กันคือการเพิ่มอีก ๑ บิต เรียกว่า บิตพาริตี้ (Parity bit) บิตพาริตี้ที่เพิ่มเติมเข้าไปจะทำให้ข้อมูลทั้งหมดในส่วนนั้นมีเลข ๑ เป็นจำนวนคู่ หรือจำนวนคี่ก็ได้  เช่น ในไมโครคอมพิวเตอร์เพิ่มอีก ๑ บิต เพื่อทำให้บิตที่แสดงค่าของรหัสเป็นจำนวนคู่  เรียกว่าพาริตี้คู่ (Even parity)  ส่วนการเพิ่มบิตพาริตี้รวมอยู่ในกลุ่มของรหัสแล้วทำให้บิตที่แสดงค่าของรหัสเป็นจำนวนคี่ เรียกว่าพาริตี้คี่ (Odd  parity)   บิตพาริตี้ที่เติมสำหรับข้อมูลตัวอักษร Aและ E เป็นดังนี้
๐๑๐๐๐๐๐๑       <-- บิตพาริตี้        E ๐๑๐๐๐๑๐๑            <-- บิตพาริตี้
ข้อมูล A มีเลข ๑ สองตัว ซึ่งเป็นจำนวนคู่อยู่แล้ว ดังนั้นจึงใส่บิตพาริตี้เป็นเลข ๐  ข้อมูล E มีเลข ๑ เป็นจำนวนคี่ จึงใส่บิตพาริตี้เป็น ๑ เพื่อให้มีเลข ๑ เป็นจำนวนคู่ข้อความ BANGKOK เมื่อเก็บในหน่วยความจำหลักของไมโครคอมพิวเตอร์ที่มีบิตพาริตี้ด้วยจะเป็น  ดังตารางที่ ๔.๒
ตารางที่ ๔.๒  ตัวอย่างการแทนข้อความในหน่วยความจำแบบมีบิตพาริตี้
หน่วยความจำ
บิตพาริตี้
B
๐๑๐๐๐๐๑๐
A
๐๑๐๐๐๐๐๑
N
๐๑๐๐๑๑๑๐
G
๐๑๐๐๐๑๑๑
K
๐๑๐๐๑๐๑๑
O
๐๑๐๐๑๑๑๑
K
๐๑๐๐๑๐๑๑
การแทนคำสั่งในหน่วยความจำ  หน่วยควบคุมของคอมพิวเตอร์ที่อยู่ในซีพียู ทำการอ่านคำสั่งจากหน่วยความจำมาแปลความหมายและกระทำตาม คำสั่งคอมพิวเตอร์พื้นฐานที่สุดเรียกว่า ภาษาเครื่อง (Machine Language) ภาษาเครื่องมีลักษณะเป็นรหัสที่ใช้ตัวเลขฐานสอง ตัวเลขฐานสองเหล่านี้แทนชุดรหัสคำสั่ง คอมพิวเตอร์เครื่องหนึ่งมีคำสั่งที่ใช้ได้หลายร้อยคำสั่ง แต่ละคำสั่งจะมีความหมายเฉพาะ เช่น คำสั่งนำข้อมูลที่มีค่าเป็น ๓ จากหน่วยความจำตำแหน่งที่ ๘๐๐๐ มาบวกกับข้อมูลที่มีค่าเป็น ๕ ในตำแหน่งที่ ๘๐๐๑  ผลลัพธ์ที่ได้ให้เก็บไว้ในหน่วยความจำตำแหน่งที่ ๘๐๐๒ เมื่อเขียนคำสั่งเป็นภาษาเครื่องจะมีลักษณะเป็นตัวเลขฐานสองเรียงต่อกันเป็นจำนวนมาก ซึ่งเข้าใจได้ยาก จึงมักใช้ตัวอักษรแทนรหัสภาษาเครื่องเหล่านี้  ดังตารางที่ ๔.๓
ตารางที่ ๔.๓  ตัวอย่างการแทนภาษาเครื่องในหน่วยความจำ
ตัวอักษรแทนรหัสภาษาเครื่อง
ภาษาเครื่อง
LD A,(๘๐๐๐)
๐๐๑๑๑๐๑๐,๐๐๐๐๐๐๐๐,๑๐๐๐๐๐๐๐
LD B,A
๐๑๐๐๐๑๑๑
LD A,(๘๐๐๑)
๐๐๑๑๑๐๑๐,๐๐๐๐๐๐๐๑,๑๐๐๐๐๐๐๐
ADD A,B
๑๐๐๐๐๐๐๐
LD (๘๐๐๒),A
๐๐๑๑๐๐๑๐,๐๐๐๐๐๐๑๐,๑๐๐๐๐๐๐๐
รหัสภาษาเครื่อง เมื่อเก็บอยู่ในหน่วยความจำของคอมพิวเตอร์จะมีลักษณะเรียงต่อกันไป สมมติให้ส่วนของโปรแกรมเก็บในหน่วยความจำตำแหน่งเริ่มจาก ๑๐๐๐ และข้อมูลเก็บไว้ที่ตำแหน่งเริ่มจาก ๘๐๐๐ ดังตารางที่ ๔.๔  การเก็บข้อมูลและคำสั่งลงในหน่วยความจำด้วยรหัสเลขฐานสองภาษาสั่งการพื้นฐานที่ใช้รหัสตัวเลขฐานสองนี้เรียกว่า ภาษาเครื่อง คอมพิวเตอร์ที่ใช้ซีพียูต่างตระกูลกันจะมีภาษาเครื่องที่ต่างกัน เช่น เครื่องที่ใช้ซีพียูเพนเทียมกับซีพียูที่ใช้ในเครื่องแมกอินทอช มีรหัสคำสั่งต่างกัน
<!--[endif]-->

1 ความคิดเห็น: