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à:
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.





