JavaScript is required

Sau khi thực hiện đoạn chương trình sau, thanh ghi BX có giá trị bằng bao nhiêu? XOR AX, AX – XOR BX, BX – MOV AX, 5857H – MOV BX, 58A8H XOR AX, BX

A.

57h

B.

FFh

C.

5858h

D.

58A8h

Trả lời:

Đáp án đúng: C


Đoạn chương trình thực hiện các phép toán trên thanh ghi AX và BX như sau: 1. `XOR AX, AX`: Gán AX = 0. Phép XOR với chính nó sẽ cho kết quả là 0. 2. `XOR BX, BX`: Gán BX = 0. Tương tự như trên, BX cũng được khởi tạo về 0. 3. `MOV AX, 5857H`: Gán AX = 5857H. 4. `MOV BX, 58A8H`: Gán BX = 58A8H. 5. `XOR AX, BX`: Thực hiện phép XOR giữa AX và BX. Kết quả được lưu vào AX. Do đó, AX = 5857H XOR 58A8H. Để tìm giá trị của AX, ta thực hiện phép XOR theo từng bit của hai số hex: 5857H = 0101 1000 0101 0111 58A8H = 0101 1000 1010 1000 ---------------------------- XOR = 0000 0000 1111 1111 = 00FFH Như vậy, sau lệnh `XOR AX, BX`, AX sẽ có giá trị là 00FFH (FFH). Tuy nhiên, câu hỏi yêu cầu giá trị của BX sau khi thực hiện đoạn chương trình. Vì vậy, giá trị của BX vẫn là 58A8H Vậy đáp án đúng phải là 58A8H

Câu hỏi liên quan