JavaScript is required

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à:

A.

C0H

B.

98H

C.

59H

D.

FFH

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.

Câu hỏi liên quan