JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV 40H, #0FH

MOV 41H, #3BH

MOV R1, #40H

INC R1

MOV A, 40H

XRL A, @R1

END.

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

A.

3BH

B.

34H

C.

40H

D.

41H

Trả lời:

Đáp án đúng: B


Đoạn mã Assembler thực hiện các bước sau: 1. `MOV 40H, #0FH`: Gán giá trị 0FH (tức 15 trong hệ thập phân) vào ô nhớ có địa chỉ 40H. 2. `MOV 41H, #3BH`: Gán giá trị 3BH (tức 59 trong hệ thập phân) vào ô nhớ có địa chỉ 41H. 3. `MOV R1, #40H`: Gán giá trị 40H vào thanh ghi R1. R1 lúc này chứa địa chỉ 40H. 4. `INC R1`: Tăng giá trị của R1 lên 1. R1 bây giờ chứa địa chỉ 41H. 5. `MOV A, 40H`: Gán giá trị của ô nhớ có địa chỉ 40H (tức 0FH) vào thanh ghi A. 6. `XRL A, @R1`: Thực hiện phép XOR giữa giá trị hiện tại của thanh ghi A (0FH) và giá trị của ô nhớ có địa chỉ được chứa trong R1 (tức địa chỉ 41H, giá trị 3BH). Phép XOR (Exclusive OR) hoạt động như sau: - 0 XOR 0 = 0 - 0 XOR 1 = 1 - 1 XOR 0 = 1 - 1 XOR 1 = 0 Tính XOR giữa 0FH và 3BH: - 0FH = 0000 1111 (binary) - 3BH = 0011 1011 (binary) - A = 0011 0100 (binary) = 34H Vậy, kết quả cuối cùng của thanh ghi A là 34H.

Câu hỏi liên quan