Hãy cho biết đâu là chế độ định địa chỉ tương đối chỉ số cho toán hạng nguồn?
Trả lời:
Đáp án đúng: C
Chế độ định địa chỉ tương đối chỉ số (Indexed Relative Addressing Mode) là một phương pháp định địa chỉ trong đó địa chỉ hiệu dụng của toán hạng được tính bằng cách cộng một giá trị bù (displacement) với nội dung của một thanh ghi chỉ số (index register). Trong các phương án được đưa ra:
- A. `MOV CX, 10+[BX]` : Đây là chế độ định địa chỉ tương đối chỉ số. Địa chỉ hiệu dụng được tính bằng cách cộng 10 (giá trị bù) với nội dung của thanh ghi BX (thanh ghi chỉ số).
- B. `MOV BX, [BX]+[DI]+10` : Đây là sự kết hợp của định địa chỉ gián tiếp thanh ghi và giá trị bù, nhưng không phải là định địa chỉ tương đối chỉ số theo nghĩa chặt chẽ nhất vì có sự tham gia của cả BX và DI.
- C. `MOV CX, [DI]+5` : Đây là chế độ định địa chỉ tương đối chỉ số, địa chỉ hiệu dụng được tính bằng cách cộng 5 (giá trị bù) với nội dung của thanh ghi DI (thanh ghi chỉ số).
- D. `OUT DX, BX` : Đây là chế độ định địa chỉ thanh ghi, không phải là định địa chỉ tương đối chỉ số.
Vì câu hỏi yêu cầu chế độ định địa chỉ tương đối chỉ số cho toán hạng *nguồn* (source operand), ta xét các toán hạng nguồn trong các lệnh:
- A. Toán hạng nguồn là `10+[BX]`. Đây là định địa chỉ tương đối chỉ số.
- C. Toán hạng nguồn là `[DI]+5`. Đây là định địa chỉ tương đối chỉ số.
Tuy nhiên, đáp án A chính xác hơn vì nó thể hiện rõ ràng một giá trị bù (10) được cộng với thanh ghi chỉ số (BX) để tạo ra địa chỉ bộ nhớ, làm cho nó trở thành một ví dụ điển hình của chế độ định địa chỉ tương đối chỉ số. Đáp án C cũng đúng nhưng đáp án A thể hiện rõ hơn.





