วิธีการเข้าถึงข้อมูล (Addressing Mode)
 
     
  มีวิธีกาารเข้าถึงข้อมูลอยู่ 5 วิธีดังนี้คือ  
 
1). การอ้างแอดเดรสของหน่วยความจำแบบทันทีทันใด (Immediate Addressing mode)
2). การอ้างแอดเดรสของหน่วยความจำแบบโดยตรง (Direct Addressing mode)
3). การอ้างแอดเดรสของหน่วยความจำแบบรีจิสเตอร์ (Register Addressing mode)
4). การอ้างแอดเดรสของหน่วยความจำแบบโดยอ้อม (Indirect Addressing mode)
5). การอ้างแอดเดรสของหน่วยความจำแบบฐานแอดเดรส (Index Addressing mode)
 
   
1). การอ้างแอดเดรสของหน่วยความจำแบบทันทีทันใด (Immediate Addressing mode)  
  คือ การนำข้อมูลที่เป็นค่าคงที่ไปเก็บไว้ในรีจิสเตอร์ หรือเก็บไว้ในหน่วยความจำภายใน โดยใช้เครื่องหมาย "#" ไว้หน้าค่าคงที่นั้นตัวอย่างเช่น  
 
MOV X,#n ;X=ตำแหน่งในหน่วยความจำ หรือรีจิสเตอร์ , n คือค่าคงที่ 8 bit
     
MOV A,#0FFH ;นำค่า FFH เก็บไว้ที่รีจีสเตอร์ A
MOV R0,#0A3H ;นำค่า A3H เก็บไว้ที่รีจีสเตอร์ R0
MOV P1,#11H ;นำค่า 11H เก็บไว้ที่พอร์ต P1
MOV 20H,#35H ;นำค่า 35H เก็บไว้ที่หน่วยความจำตำแหน่งแอดเดรส 20H
     
 
   
2). การอ้างแอดเดรสของหน่วยความจำแบบโดยตรง (Direct Addressing mode)  
  คือการอ้างถึงข้อมูลโดยระบุตำแหน่งแอดเดรสของหน่วยความจำโดยตรง ตัวอย่างเช่น
 
     
 
MOV A,20H ;การนำข้อมูลในหน่วยความจำตำแหน่งแอดเดรส 20H ไปเก็บไว้ที่รีจิสเตอร์ A
MOV 25H,01H ;การนำข้อมูลในหน่วยความจำตำแหน่งแอดเดรส 01H(R1) ไปเก็บไว้ที่ ที่หน่วยความจำตำแหน่งแอดเดรส 30H
     
 
     
   
3). การอ้างแอดเดรสของหน่วยความจำแบบรีจิสเตอร์ (Register Addressing mode)  
  คือการอ้างถึงข้อมูลโดยระบุตำแหน่งแอดเดรสของหน่วยความจำรีจิสเตอร์ R0-R7 ตัวอย่างเช่น  
     
 
MOV A,Rn ;Rn = R0-R7
     
MOV A,R4 ;การนำข้อมูลในรีจิสเตอร์ R4 ไปเก็บไว้ที่รีจิสเตอร์ A
     
 
     
   
4). การอ้างแอดเดรสของหน่วยความจำแบบโดยอ้อม (Indirect Addressing mode)  
  การอ้างถึงข้อมูลแบบทางอ้อมโดยระบุตำแหน่งของแอดเดรสผ่านรีจิสเตอร์ R0 และ R1 โดยมีเครื่องหมาย "@" นำหน้า R0 หรือ R1 (ใช้ได้เฉพาะรีจิสเตอร์ R0 และ R1 เท่านั้น) ตัวอย่างเช่น
 
     
 
MOV A,@Ri ;Ri = R0-R1
     
MOV R0,#20H ;่ก่อนอื่นต้องกำหนดค่าให้ R0 ก่อน โดยนำค่าแอดเดรส 20H เก็บไว้ที่รีจีสเตอร์ R0
MOV A,@R0 ;นำค่าข้อมูลที่อยู่ในตำแหน่งแอดเดรสที่ชี้โดย R0 ( R0 มีค่าเท่ากับ 20H)
    ;นำไปเก็บไว้ที่รีจิสเตอร์ A
 
     
   
5). การอ้างแอดเดรสของหน่วยความจำแบบอินเด็กซ์ (Index Addressing mode)  
  การอ้างถึงข้อมูล โดยผ่านรีจิสเตอร์ที่กำหนดให้เป็นดัชนีชี้ต่ำแหน่งข้อมูล DPTR (Data pointer) ซึ่งเป็น register 16 bit เรียกว่าอินเด็กซ์  
     
     
 
หน่วยความจำโปรแกรม (Code Memory)
  MOVC A,@A+DPTR ;นำค่าข้อมูลที่อยู่ที่ตำแหน่ง (A+DPTR) มาเก็บไว้ที่ A
  MOVC A,@A+PC ;นำค่าข้อมูลที่อยู่ที่ตำแหน่ง (A+PC) มาเก็บไว้ที่ A
       
หน่วยความจำข้อมูลภายนอก (External RAM)
  MOVX @DPTR,A ;นำค่าข้อมูลจาก A ไปเก็บไว้ที่ หน่วยความจำข้อมูลภายนอกที่ชี้โดย DPTR
  MOVX A,@DPTR ;นำค่าข้อมูลจากหน่วยความจำข้อมูลภายนอกที่ชี้โดย DPTR มาเก็บไว้ที่ A
       
 
     
  ์NOTE  
  - คำสัง MOVX ใช้สำหรับเมื่อมีการเพิ่มหน่วยความจำ RAM ภายนอกเท่านั้น