ไมโครโปรเซสเซอร์ - โหมดกำหนดแอดเดรส 8086
วิธีต่างๆที่ซอร์สถูกแสดงในคำสั่งเรียกว่า addressing modes. มี 8 โหมดการกำหนดแอดเดรสที่แตกต่างกันในการเขียนโปรแกรม 8086 -
โหมดกำหนดแอดเดรสทันที
โหมดการกำหนดแอดเดรสซึ่งตัวถูกดำเนินการข้อมูลเป็นส่วนหนึ่งของคำสั่งนั้นเรียกว่าโหมดกำหนดแอดเดรสทันที
ตัวอย่าง
MOV CX, 4929 H, ADD AX, 2387 H, MOV AL, FFH
ลงทะเบียนโหมดการกำหนดที่อยู่
หมายความว่ารีจิสเตอร์เป็นแหล่งที่มาของตัวถูกดำเนินการสำหรับคำสั่ง
ตัวอย่าง
MOV CX, AX ; copies the contents of the 16-bit AX register into
; the 16-bit CX register),
ADD BX, AX
โหมดกำหนดแอดเดรสโดยตรง
โหมดการกำหนดแอดเดรสซึ่งแอดเดรสที่มีประสิทธิภาพของตำแหน่งหน่วยความจำถูกเขียนโดยตรงในคำสั่ง
ตัวอย่าง
MOV AX, [1592H], MOV AL, [0300H]
ลงทะเบียนโหมดการกำหนดแอดเดรสทางอ้อม
โหมดกำหนดแอดเดรสนี้ช่วยให้สามารถส่งข้อมูลไปยังตำแหน่งหน่วยความจำใด ๆ ผ่านที่อยู่ออฟเซ็ตที่อยู่ในรีจิสเตอร์ต่อไปนี้: BP, BX, DI & SI
ตัวอย่าง
MOV AX, [BX] ; Suppose the register BX contains 4895H, then the contents
; 4895H are moved to AX
ADD CX, {BX}
ตามโหมดการกำหนดที่อยู่
ในโหมดการกำหนดแอดเดรสนี้แอดเดรสออฟเซ็ตของตัวถูกดำเนินการจะได้รับจากผลรวมของเนื้อหาของรีจิสเตอร์ BX / BP และการกระจัด 8 บิต / 16 บิต
ตัวอย่าง
MOV DX, [BX+04], ADD CL, [BX+08]
โหมดกำหนดแอดเดรสที่จัดทำดัชนี
ในโหมดการกำหนดแอดเดรสนี้จะพบแอดเดรสออฟเซ็ตของตัวถูกดำเนินการโดยการเพิ่มเนื้อหาของการลงทะเบียน SI หรือ DI และการกระจัด 8 บิต / 16 บิต
ตัวอย่าง
MOV BX, [SI+16], ADD AL, [DI+16]
ตามดัชนีที่อยู่โหมด
ในโหมดการกำหนดแอดเดรสนี้แอดเดรสออฟเซ็ตของตัวถูกดำเนินการจะคำนวณโดยการรวมรีจิสเตอร์ฐานเข้ากับเนื้อหาของรีจิสเตอร์ดัชนี
ตัวอย่าง
ADD CX, [AX+SI], MOV AX, [AX+DI]
ตามดัชนีด้วยโหมดการกระจัด
ในโหมดการกำหนดแอดเดรสนี้ออฟเซ็ตของตัวถูกดำเนินการจะคำนวณโดยการเพิ่มเนื้อหารีจิสเตอร์พื้นฐาน ดัชนีจะลงทะเบียนเนื้อหาและการกระจัด 8 หรือ 16 บิต
ตัวอย่าง
MOV AX, [BX+DI+08], ADD CX, [BX+SI+16]