Cho đoạn mã Assembler sau:MOV R0, #20HMOV A, #3FHMOV 20H, #75HXCH A, @R0Kết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: C
Đoạn mã Assembler được thực thi như sau:
1. `MOV R0, #20H`: Gán giá trị 20H cho thanh ghi R0. Điều này có nghĩa là R0 sẽ trỏ đến địa chỉ bộ nhớ 20H.
2. `MOV A, #3FH`: Gán giá trị 3FH cho thanh ghi A. A hiện tại chứa 3FH.
3. `MOV 20H, #75H`: Gán giá trị 75H cho ô nhớ có địa chỉ 20H. Vị trí nhớ 20H bây giờ chứa giá trị 75H.
4. `XCH A, @R0`: Lệnh này trao đổi giá trị giữa thanh ghi A và nội dung của ô nhớ mà R0 trỏ tới. Vì R0 đang trỏ đến địa chỉ 20H, nên giá trị của A sẽ được trao đổi với giá trị tại ô nhớ 20H. Trước lệnh này, A = 3FH và 20H = 75H. Sau lệnh này, A = 75H và 20H = 3FH.
Vậy, sau khi thực hiện đoạn mã, giá trị của thanh ghi A là 75H.