JavaScript is required

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

A.

76H

B.

35H

C.

36H

D.

75H

Trả lời:

Đáp án đúng: B


Đoạn mã Assembler thực hiện các bước sau: 1. `MOV R0, #20H`: Gán giá trị 20H cho thanh ghi R0. R0 sẽ đóng vai trò là con trỏ địa chỉ. 2. `MOV A, #36H`: Gán giá trị 36H cho thanh ghi A. 3. `MOV 20H, #75H`: Gán giá trị 75H cho ô nhớ có địa chỉ 20H. 4. `XCHD A, @R0`: Lệnh này trao đổi nửa thấp (4 bit thấp) của thanh ghi A với nửa thấp của ô nhớ có địa chỉ được trỏ bởi R0 (tức là ô nhớ 20H). Ban đầu: - A = 36H (0011 0110) - Ô nhớ 20H = 75H (0111 0101) Sau khi thực hiện `XCHD A, @R0`: - Nửa thấp của A (0110) được trao đổi với nửa thấp của ô nhớ 20H (0101). - A = 35H (0011 0101) - Ô nhớ 20H = 76H (0111 0110) Vậy, kết quả cuối cùng của thanh ghi A là 35H.

Câu hỏi liên quan