Cho đoạn mã Assembler sau:
ORG 0000H
MOV A, #18
MOV R1, #48
MOV 30H, #3EH
XRL A, R1
END.
Kết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: A
Đoạn mã Assembler thực hiện các thao tác sau:
1. `MOV A, #18`: Gán giá trị 18 (decimal) vào thanh ghi A. Trong hệ hex, 18 là 12H.
2. `MOV R1, #48`: Gán giá trị 48 (decimal) vào thanh ghi R1. Trong hệ hex, 48 là 30H.
3. `MOV 30H, #3EH`: Gán giá trị 3EH vào ô nhớ có địa chỉ 30H. Lệnh này không ảnh hưởng đến giá trị của thanh ghi A.
4. `XRL A, R1`: Thực hiện phép XOR giữa giá trị hiện tại của thanh ghi A (12H) và giá trị của thanh ghi R1 (30H).
Phép XOR (Exclusive OR) được thực hiện như sau:
12H = 0001 0010
30H = 0011 0000
------------------
XOR = 0010 0010 = 22H
Vậy, kết quả cuối cùng của thanh ghi A là 22H.