Cho đoạn mã Assembler sau:
ORG 0000H
MOV A, #0C0H
MOV R1, #0D8H
ADD A, R1
ADDC A, #0C0H
END.
Kết quả của thanh ghi A là:
Trả lời:
Đáp án đúng: C
Đầu tiên, ta có A = 0xC0 = 192 (hệ thập phân) và R1 = 0xD8 = 216 (hệ thập phân).
Bước 1: ADD A, R1
A = A + R1 = 0xC0 + 0xD8 = 0x198. Vì A chỉ có 8 bit nên A = 0x98 (phần dư sau khi chia 0x198 cho 0x100), và cờ nhớ CY = 1 (vì có tràn).
Bước 2: ADDC A, #0C0H
A = A + 0xC0 + CY = 0x98 + 0xC0 + 1 = 0x259. Vì A chỉ có 8 bit nên A = 0x59 (phần dư sau khi chia 0x259 cho 0x100), và cờ nhớ CY = 1 (vì có tràn).
Vậy, kết quả cuối cùng của thanh ghi A là 0x59.