Cho lệnh assembly: ADD DX, . Phát biểu nào sau đây là đúng:
Trả lời:
Đáp án đúng: B
Câu lệnh `ADD DX, ...` có nghĩa là cộng giá trị của toán hạng nguồn vào thanh ghi DX.
* **Toán hạng đích:** Trong trường hợp này, `DX` là toán hạng đích. `DX` là một thanh ghi, vì vậy toán hạng đích thuộc mode địa chỉ thanh ghi. Do đó, phát biểu D đúng và phát biểu C sai.
* **Toán hạng nguồn:** Toán hạng nguồn có thể là nhiều dạng khác nhau (ví dụ: một giá trị tức thì, một địa chỉ bộ nhớ, hoặc một thanh ghi khác). Tuy nhiên, vì câu hỏi không cung cấp đầy đủ câu lệnh (chỉ có `ADD DX, .`), ta không thể xác định mode địa chỉ của toán hạng nguồn. Tuy nhiên, nếu toán hạng nguồn là một giá trị trực tiếp (ví dụ, `ADD DX, 10`), thì nó thuộc mode địa chỉ tức thì. Do đó, phát biểu A có thể đúng, nhưng không chắc chắn.
Phát biểu B nói rằng toán hạng nguồn *không* thuộc mode địa chỉ trực tiếp. Mode địa chỉ trực tiếp liên quan đến việc truy cập một vị trí bộ nhớ cụ thể thông qua địa chỉ của nó (ví dụ, `ADD DX, [1000H]`). Vì toán hạng nguồn có thể thuộc mode địa chỉ trực tiếp, nên phát biểu B có thể sai. Tuy nhiên, do câu lệnh không đầy đủ, ta không thể chắc chắn.
Vì phát biểu D chắc chắn đúng, nên đó là đáp án đúng nhất.