JavaScript is required

Để đặt bit 67H (làm cho bit 67H nhận giá trị 1) ta dùng lệnh:

A.

SETB 67H

B.

MOV A, 2CH ORL A, #80H

C.

MOV 2CH, A

D.

Cả hai câu A và B đều đúng

Trả lời:

Đáp án đúng: B


Phương án A: SETB 67H

Lệnh SETB (Set Bit) được sử dụng để thiết lập một bit cụ thể trong bộ nhớ lên giá trị 1. Trong trường hợp này, SETB 67H sẽ đặt bit có địa chỉ 67H lên 1, đúng như yêu cầu của đề bài.

Phương án B: MOV A, 2CH ORL A, #80H

Câu lệnh này phức tạp hơn, nhưng cũng có thể đạt được mục tiêu tương tự. Đầu tiên, giá trị tại địa chỉ 2CH được chuyển vào thanh ghi A. Sau đó, thực hiện phép OR logic giữa thanh ghi A và hằng số #80H (tương đương 10000000B). Phép OR này sẽ đặt bit thứ 7 (bit 7) của thanh ghi A lên 1, mà không làm thay đổi các bit khác. Tuy nhiên, địa chỉ 2CH phải chứa một giá trị sao cho khi OR với #80H, bit 7 của kết quả là 1. Nếu không, thao tác này sẽ không đảm bảo bit 67H (nếu 2CH là bit 67H) sẽ luôn được đặt lên 1.

Phương án C: MOV 2CH, A

Lệnh này chỉ đơn giản là gán giá trị từ thanh ghi A vào địa chỉ 2CH, không đảm bảo bit 67H được đặt lên 1.

Phương án D: Cả hai câu A và B đều đúng

Vì phương án A chắc chắn đúng và phương án B chỉ đúng trong một số trường hợp, nên phương án D không hoàn toàn đúng.

Kết luận:

Phương án A là phương án trực tiếp và chắc chắn nhất để đặt bit 67H lên 1.

Câu hỏi liên quan