JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV R0, #30H

MOV A, #7BH

MOV 30H, #4CH

XCHD A, @R0

END.

Kết quả của thanh ghi A là:

A.

74H

B.

73H

C.

7BH

D.

7CH

Trả lời:

Đáp án đúng: D


Đoạn mã Assembler thực hiện các bước sau: 1. `MOV R0, #30H`: Gán giá trị 30H cho thanh ghi R0. R0 sẽ trỏ đến địa chỉ bộ nhớ 30H. 2. `MOV A, #7BH`: Gán giá trị 7BH cho thanh ghi A. 3. `MOV 30H, #4CH`: Gán giá trị 4CH cho ô nhớ có địa chỉ 30H. 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 trỏ bởi R0 (tức ô nhớ 30H). * Ban đầu: A = 7BH, (30H) = 4CH * Sau khi thực hiện XCHD: Nửa thấp của A (B) sẽ được trao đổi với nửa thấp của (30H) (C). Vậy A sẽ trở thành 7CH, và (30H) sẽ trở thành 4BH. Vậy, kết quả cuối cùng của thanh ghi A là 7CH.

Câu hỏi liên quan