JavaScript is required

Cho đoạn mã Assembler sau:MOV R0, #20HMOV A, #3FHMOV 20H, #75HXCH A, @R0Kết quả của thanh ghi A là:

A.

20H

B.

3FH

C.

75H

D.

57H

Trả lời:

Đáp án đúng: C


Đoạn mã Assembler được thực thi như sau: 1. `MOV R0, #20H`: Gán giá trị 20H cho thanh ghi R0. Điều này có nghĩa là R0 sẽ trỏ đến địa chỉ bộ nhớ 20H. 2. `MOV A, #3FH`: Gán giá trị 3FH cho thanh ghi A. A hiện tại chứa 3FH. 3. `MOV 20H, #75H`: Gán giá trị 75H cho ô nhớ có địa chỉ 20H. Vị trí nhớ 20H bây giờ chứa giá trị 75H. 4. `XCH A, @R0`: Lệnh này trao đổi giá trị giữa thanh ghi A và nội dung của ô nhớ mà R0 trỏ tới. Vì R0 đang trỏ đến địa chỉ 20H, nên giá trị của A sẽ được trao đổi với giá trị tại ô nhớ 20H. Trước lệnh này, A = 3FH và 20H = 75H. Sau lệnh này, A = 75H và 20H = 3FH. Vậy, sau khi thực hiện đoạn mã, giá trị của thanh ghi A là 75H.

Câu hỏi liên quan