Addressing Modes ของ MCS-51
มาเริ่มเรื่องนี้กันก่อนนะ Addressing Modes ของ MCS-51 มี
Direct Addressing
จะใช้อ้างถึง Operand ที่เป็นหน่วยความจำข้อมูลภายใน และ SFR Register เท่านั้น
ตัวอย่าง
ADD A,80H
ถ้าข้อมูลใน register A เป็น 12H
ข้อมูลที่อยู่ในหน่วยความจำข้อมูลภายใน ตำแหน่ง (Address) 80H มีค่าเป็น 34H
หลังทำคำสั่งจะได้ ค่าใน register A เป็น 46H
Indirect Addressing
ข้อมูลของ operand จะถูกชี้ด้วย address ที่อยู่ใน register
Register ที่ใช้จะมี 2 แบบคือ 8 bits และ 16 bits ดูตัวอย่างแบบ 8 bits ก่อน เช่นถ้าต้องการให้การทำงานเหมือนกับตัวอย่าง ของ direct addressing
MOV R0,#80H
ADD A,@R0
(อาจจะมีคำถามว่าทำไมไม่ใช้แบบ direct มาใช้แบบ indirect ทำไม ?)
คืนนี้แค่นี้ก่อนนะ