Cho đoạn mã Assembler sau:MOV A, #30HMOV R1, #0F0HMOV @R1, AMOV A, @R1Kế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 A, #30H`: Gán giá trị 30H vào thanh ghi A. Vậy, A = 30H.
2. `MOV R1, #0F0H`: Gán địa chỉ F0H vào thanh ghi R1. R1 chứa địa chỉ, đóng vai trò như con trỏ.
3. `MOV @R1, A`: Sao chép nội dung của thanh ghi A (30H) vào ô nhớ có địa chỉ được trỏ bởi R1 (tức là địa chỉ F0H). Như vậy, ô nhớ có địa chỉ F0H sẽ chứa giá trị 30H.
4. `MOV A, @R1`: Sao chép nội dung của ô nhớ có địa chỉ được trỏ bởi R1 (tức là ô nhớ F0H) vào thanh ghi A. Vì ô nhớ F0H đang chứa giá trị 30H, nên A sẽ nhận giá trị 30H.
Vậy, kết quả cuối cùng của thanh ghi A là 30H.