JavaScript is required

Cho biết trạng thái các cờ sau khi chip 8051 thực hiện phép toán số học (89H + 57H):

A.

CY = 0, AC = 0

B.

CY = 0, AC = 1

C.

CY = 1, AC = 0

D.

CY = 1, AC = 1

Trả lời:

Đáp án đúng: B


Để xác định trạng thái của các cờ CY (Carry) và AC (Auxiliary Carry) sau phép toán 89H + 57H trong chip 8051, ta thực hiện phép cộng này:

89H (137 decimal) + 57H (87 decimal) = DEH (222 decimal)

Cờ CY (Carry Flag): Cờ CY được đặt (CY = 1) nếu có carry từ bit quan trọng nhất (bit 7) của kết quả. Trong trường hợp này, phép cộng không tạo ra carry từ bit 7, vậy CY = 0.

Cờ AC (Auxiliary Carry Flag): Cờ AC được đặt (AC = 1) nếu có carry từ bit 3 sang bit 4. Ta xét phép cộng ở dạng nhị phân:

1000 1001 (89H)

+ 0101 0111 (57H)

-----------------

1101 1110 (DEH)

Khi cộng hai nửa byte thấp (1001 + 0111), ta có 1001 + 0111 = 1 0000. Vậy có carry từ bit 3 sang bit 4, do đó AC = 1.

Vậy, trạng thái các cờ là CY = 0 và AC = 1.

Câu hỏi liên quan