Cho đoạn mã Assembler sau:
ORG 0000H
MOV R0, #31H
MOV R1, #4BH
MOV 30H, #30H
DEC R0
MOV A, R1
ADD A, @R0
END.
Kết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: C
Đoạn mã Assembly thực hiện các bước sau:
1. `MOV R0, #31H`: Gán giá trị 31H vào thanh ghi R0.
2. `MOV R1, #4BH`: Gán giá trị 4BH vào thanh ghi R1.
3. `MOV 30H, #30H`: Gán giá trị 30H vào ô nhớ có địa chỉ 30H.
4. `DEC R0`: Giảm giá trị của R0 đi 1. R0 bây giờ chứa 30H.
5. `MOV A, R1`: Gán giá trị của R1 (4BH) vào thanh ghi A.
6. `ADD A, @R0`: Cộng giá trị của ô nhớ có địa chỉ được chứa trong R0 vào thanh ghi A. Vì R0 = 30H, nên giá trị của ô nhớ 30H (chứa 30H) sẽ được cộng vào A. Vậy A = 4BH + 30H = 7BH.
Vậy kết quả cuối cùng của thanh ghi A là 7BH.