Trả lời:
Đáp án đúng: C
Trong kiến trúc 8086, có tổng cộng 8 chế độ định địa chỉ khác nhau được sử dụng để truy cập dữ liệu trong bộ nhớ hoặc thanh ghi. Các chế độ này cung cấp sự linh hoạt cao cho việc lập trình hợp ngữ:
1. **Định địa chỉ thanh ghi (Register Addressing):** Toán hạng là một thanh ghi.
2. **Định địa chỉ trực tiếp (Immediate Addressing):** Toán hạng là một giá trị hằng số.
3. **Định địa chỉ trực tiếp (Direct Addressing):** Địa chỉ bộ nhớ của toán hạng được chỉ định trực tiếp trong lệnh.
4. **Định địa chỉ gián tiếp thanh ghi (Register Indirect Addressing):** Địa chỉ bộ nhớ của toán hạng được lưu trong một thanh ghi.
5. **Định địa chỉ cơ sở (Based Addressing):** Địa chỉ bộ nhớ được tính bằng cách cộng một giá trị cơ sở (nằm trong thanh ghi cơ sở) với một độ dời.
6. **Định địa chỉ chỉ số (Indexed Addressing):** Địa chỉ bộ nhớ được tính bằng cách cộng một giá trị chỉ số (nằm trong thanh ghi chỉ số) với một độ dời.
7. **Định địa chỉ cơ sở chỉ số (Based Indexed Addressing):** Địa chỉ bộ nhớ được tính bằng cách cộng một giá trị cơ sở, một giá trị chỉ số và một độ dời.
8. **Định địa chỉ tương đối (Relative Addressing):** Địa chỉ bộ nhớ được tính bằng cách cộng một độ dời (thường là một giá trị bù) với địa chỉ của lệnh hiện tại (thường được sử dụng cho các lệnh nhảy và rẽ nhánh).
Do đó, đáp án đúng là 8.





