Cho đoạn mã Assembler sau:
ORG 0000H
MOV A, #6BH
ADD A, #43H
RRC A
END.
Kết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: C
Đầu tiên, A được gán giá trị 6BH. Sau đó, 43H được cộng vào A.
6B (hệ 16) = 107 (hệ 10)
43 (hệ 16) = 67 (hệ 10)
107 + 67 = 174 (hệ 10)
174 (hệ 10) = AE (hệ 16)
Sau phép cộng, A = AEH. Tiếp theo, RRC A (Rotate Right through Carry) thực hiện dịch phải bit của A, bit thấp nhất của A sẽ được chuyển vào cờ Carry, và giá trị cờ Carry cũ sẽ được chuyển vào bit cao nhất của A. Giả sử cờ Carry ban đầu bằng 0.
AEH (1010 1110) -> dịch phải -> (0)101 0111 = 0x57 + Carry = 0
Vậy A = 57H