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 (22H + B5H):

A.

OV = 0, CY = 0

B.

OV = 0, CY = 1

C.

OV = 1, CY = 0

D.

OV = 1, CY = 1

Trả lời:

Đáp án đúng: A


Để giải quyết câu hỏi này, chúng ta cần thực hiện phép cộng hai số hệ hexa (22H + B5H) và xác định trạng thái của cờ tràn (OV) và cờ nhớ (CY) sau phép toán.

  1. Thực hiện phép cộng: 22H + B5H

Đổi sang hệ thập phân để tính toán dễ dàng hơn: 22H = 34, B5H = 181

34 + 181 = 215

Đổi 215 trở lại hệ hexa: D7H

  1. Xác định cờ nhớ (CY): Vì kết quả (D7H) không vượt quá FFH (255 trong hệ thập phân), nên không có nhớ xảy ra. Do đó, CY = 0.
  2. Xác định cờ tràn (OV): Cờ tràn (OV) được thiết lập khi có tràn số học xảy ra, tức là khi kết quả có dấu khác với dấu của các toán hạng. Trong trường hợp này, chúng ta có thể xem xét bit dấu (bit cao nhất) của các toán hạng và kết quả:
    • 22H: 00100010 (bit dấu là 0, số dương)
    • B5H: 10110101 (bit dấu là 1, số âm)
    • D7H: 11010111 (bit dấu là 1, số âm)

Phép cộng một số dương và một số âm không gây ra tràn trong trường hợp này (kết quả có dấu âm, phù hợp). Tuy nhiên, để xét tràn chính xác hơn trong 8051, ta xem xét hai bit cao nhất của hai số hạng và kết quả. Nếu hai bit cao nhất của hai số hạng giống nhau, nhưng bit cao nhất của kết quả khác, thì có tràn.

Trong phép cộng 22H + B5H:

  • Hai bit cao nhất của 22H là 00
  • Hai bit cao nhất của B5H là 10
  • Hai bit cao nhất của D7H là 11

Vì 2 bit cao nhất của 2 số hạng khác nhau, nên không xảy ra tràn. Do đó, OV = 0.

Kết luận: OV = 0, CY = 0

Câu hỏi liên quan