Cho đoạn mã Assembler sau:
ORG 0000H
MOV A, #0B6H
ADD A, #0CDH
RRC A
END.
Kết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: A
Đầu tiên, ta có A = 0xB6 (10110110B).
Tiếp theo, ta thực hiện phép cộng A = A + 0xCD = 0xB6 + 0xCD = 0x183. Vì A là thanh ghi 8 bit, kết quả chỉ giữ lại 8 bit thấp, vậy A = 0x83 (10000011B) và cờ Carry (CY) được set (CY = 1) do có tràn.
Cuối cùng, ta thực hiện lệnh RRC A (Rotate Right through Carry). Lệnh này dịch bit của A sang phải 1 vị trí, bit cuối cùng (LSB) sẽ được chuyển vào cờ Carry và giá trị của cờ Carry trước đó sẽ được chuyển vào bit đầu tiên (MSB) của A. Vậy, A = 11000001B = 0xC1 và CY = 1.
Vậy, kết quả cuối cùng của thanh ghi A là 0xC1.





