JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV A, #40H

MOV B, #0A0H

MUL AB

END.

Kết quả của thanh ghi B là:

A.

00H

B.

28H

C.

A0H

D.

40H

Trả lời:

Đáp án đúng: B


Đoạn mã Assembly thực hiện phép nhân hai số 40H và A0H. MOV A, #40H: Gán giá trị 40H (tương đương 64 trong hệ thập phân) vào thanh ghi A. MOV B, #0A0H: Gán giá trị A0H (tương đương 160 trong hệ thập phân) vào thanh ghi B. MUL AB: Thực hiện phép nhân giữa thanh ghi A và B. Kết quả của phép nhân (64 * 160 = 10240) được lưu trữ trong hai thanh ghi A và B. Thanh ghi A chứa byte thấp (low byte) của kết quả, và thanh ghi B chứa byte cao (high byte) của kết quả. Để xác định giá trị của thanh ghi B sau phép nhân, ta cần chuyển đổi kết quả 10240 sang hệ hexa. 10240 trong hệ thập phân tương ứng với 2800H trong hệ hexa. Như vậy, byte thấp (low byte) là 00H sẽ được lưu vào thanh ghi A, còn byte cao (high byte) là 28H sẽ được lưu vào thanh ghi B. Vậy, kết quả của thanh ghi B là 28H.

Câu hỏi liên quan