JavaScript is required

Hãy chọn kết quả đúng của lệnh chuyển dữ liệu : MOV [1234],12

A.
Lỗi vì không chuyển trực tiếp giá trị vào từ ô nhớ
B.
Chuyển giá trị 12h vào ô nhớ [1234].
C.
Chuyển giá trị 12h vào ô nhớ DS:[1234].
D.
Hoán đổi giá trị của 2 ô nhớ : 1234 và 12
Trả lời:

Đáp án đúng: A


Lệnh MOV [1234], 12 có nghĩa là chuyển giá trị 12 (hệ thập phân) vào ô nhớ có địa chỉ là 1234 (hệ thập phân). Trong kiến trúc x86, khi sử dụng địa chỉ trực tiếp như [1234], địa chỉ này được hiểu là offset trong một segment. Mặc định, segment được sử dụng là segment dữ liệu (DS - Data Segment). Do đó, lệnh này sẽ chuyển giá trị 12h (hệ hexa của 12) vào ô nhớ có địa chỉ DS:1234. Vì vậy, đáp án C là chính xác nhất. Đáp án A không đúng vì có thể chuyển trực tiếp một giá trị vào một ô nhớ bằng cách sử dụng địa chỉ ô nhớ đó. Đáp án B không hoàn toàn chính xác vì nó không chỉ rõ segment nào đang được sử dụng (DS). Đáp án D sai vì lệnh MOV không thực hiện hoán đổi giá trị.

Câu hỏi liên quan