รีจิสเตอร์ (Register)
ความหมาย (Meaning)
- 1 เป็นส่วนประกอบหนึ่งใน Microprocessor ทำหน้าที่ในการเก็บข้อมูลชั่วคราว
-
2 หน่วยความจำขนายย่อยที่เก็บผลจากการคำนวณ โดยแยกพื้นที่ส่วนหนึ่งของหน่วยความจำภายในไมโครโปรเซสเซอร์มาใช้ นั่นคือ Register เป็นหน่วยความจำส่วนหนึ่งใน CPU
Register แบ่งได้ 4 กลุ่ม
- 1. รีจิสเตอร์ทั่วไป (General Register)
- 2. รีจิสเตอร์เซกเมนต์ (Segment Register)
- 3. รีจิสเตอร์ Pointer และ Index (Pointer and Index Register)
- 4. รีจิสเตอร์แฟลก (Flag Register)
- รีจิสเตอร์ที่ควรรู้จักตัวแรก ๆ มีอะไรบ้าง
- แต่ละรีจิสเตอร์มีขนาด 1 word หรือ 1 word = 2 byte
- จากตัวอย่างนี้จะแสดง Register 4 ตัวแรก คือ รีจิสเตอร์ทั่วไป (general purpose Register) กลุ่มข้อมูล อันประกอบด้วย AX, BX, CX และ DX โดยรีจิสเตอร์ที่เหลือคือ SP, BP, SI, DI, DS, ES, SS, CS และ IP ซึ่งเรียกรีจิสเตอร์เหล่านี้ว่า รีจิสเตอร์เฉพาะ(Special Register)
- รีจิสเตอร์แต่ละตัวเก็บตัวเลขได้ 4 หลัก ทำให้เก็บค่าเลขในแต่ละตัวได้สูงสุดเพียง 65536 หรือ 256 * 256 นั่นเอง และ 256 ก็คือ เลขฐาน 16 จำนวน 2 หลัก ดังนั้น 0000 จึงสามารถเก็บได้ตั้งแต่ 0 ถึง 65536 หรือ 64 KB นั่นเอง
http://www.ik.ku.lt/lessons/konspekt/kti/12_files/Assembler%20Tutorial.htm
1. รีจิสเตอร์ทั่วไป (General Register) มีหน้าที่เก็บข้อมูล หรือผลลัพธ์จากการคำนวณ
AX : Accumulator Register (สำหรับการอ้างอิงแบบ 16 Bit)
BX : Base Register
CX : Counting Register
DX : Data Register
ถ้าเป็น EAX, EBX, ECX, EDX จะเป็น Register สำหรับ 32Bit
2. รีจิสเตอร์เซกเมนต์ (Segment Register) มีหน้าที่อ้างอิงตำแหน่งในหน่วยความจำเมื่อต้องการอ่าน หรือเขียนข้อมูล
CS : Code Segment Register
DS : Data Segment Register
ES : Extra Segment Register
SS : Stack segment Register
3. รีจิสเตอร์ Pointer และ Index (Pointer and Index Register) มีหน้าที่ในการชี้ตำแหน่งต่าง ๆ ในหน่วยความจำที่ต้องการติดต่อ
BP : Base Pointers Register
SP : Stack Pointer Register
SI : Source Index Register
DI : Destination Index Register
4. รีจิสเตอร์แฟลก (Flag Register)
ทำหน้าที่เก็บสถานะการประมวลผลจากบางคำสั่ง เช่น CMP, TEST เป็นต้น
ส่วน IP คือ Instruction Pointer Register
ที่มา http://www.thaiall.com/assembly/register.htm
|