Cho đoạn mã Assembler sau:
ORG 0000H
MOV 30H, #1CH
MOV R1, #30H
MOV A, #0DFH
ANL A, @R1
END.
Kết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: B
Đoạn mã Assembly thực hiện các bước sau:
1. `MOV 30H, #1CH`: Gán giá trị 1CH (28 trong hệ thập phân) vào ô nhớ có địa chỉ 30H.
2. `MOV R1, #30H`: Gán giá trị 30H vào thanh ghi R1. R1 bây giờ chứa địa chỉ 30H.
3. `MOV A, #0DFH`: Gán giá trị DFH (223 trong hệ thập phân) vào thanh ghi A.
4. `ANL A, @R1`: Thực hiện phép AND logic giữa giá trị của thanh ghi A và giá trị được lưu trữ tại địa chỉ mà R1 trỏ tới. R1 trỏ tới địa chỉ 30H, nơi chứa giá trị 1CH. Vậy, phép AND được thực hiện giữa DFH và 1CH.
* DFH ở dạng nhị phân là 11011111
* 1CH ở dạng nhị phân là 00011100
* Kết quả của phép AND là 00011100, tương đương với 1CH trong hệ thập lục phân.
Vậy, sau khi thực hiện lệnh `ANL A, @R1`, giá trị của thanh ghi A là 1CH.





