Cho đoạn mã Assembler sau:
ORG 0000H
MOV 30H, #10H
MOV 31H, #20H
MOV R0, #30H
INC R0
MOV A, @R0
END.
Kết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: D
Đoạn mã Assembler thực hiện các bước sau:
1. **MOV 30H, #10H**: Gán giá trị 10H vào ô nhớ có địa chỉ 30H.
2. **MOV 31H, #20H**: Gán giá trị 20H vào ô nhớ có địa chỉ 31H.
3. **MOV R0, #30H**: Gán giá trị 30H (địa chỉ) vào thanh ghi R0. R0 bây giờ chứa địa chỉ 30H.
4. **INC R0**: Tăng giá trị của thanh ghi R0 lên 1. R0 bây giờ chứa địa chỉ 31H.
5. **MOV A, @R0**: Lệnh này di chuyển nội dung của ô nhớ có địa chỉ được lưu trong R0 vào thanh ghi A. Vì R0 chứa 31H, nội dung của ô nhớ 31H (là 20H) sẽ được chuyển vào A.
Vậy, kết quả cuối cùng của thanh ghi A là 20H.