JavaScript is required

Cho đoạn mã Assembler sau:

ORG 0000H

MOV 30H, #45H

MOV 31H, 0C0H

MOV A, 30H

MOV B, #31H

MUL AB

END.

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

A.

35H

B.

0DH

C.

45H

D.

31H

Trả lời:

Đáp án đúng: B


Đoạn mã thực hiện phép nhân giữa hai số. - `MOV 30H, #45H`: Gán giá trị 45H vào ô nhớ 30H. - `MOV 31H, 0C0H`: Gán giá trị C0H vào ô nhớ 31H. (chú ý đây là 0C0H chứ không phải #0C0H) - `MOV A, 30H`: Gán giá trị của ô nhớ 30H (tức 45H) vào thanh ghi A. Vậy A = 45H. - `MOV B, #31H`: Gán giá trị 31H vào thanh ghi B. Vậy B = 31H. - `MUL AB`: Thực hiện phép nhân A * B, tức 45H * 31H. Kết quả là 0D35H. Trong đó byte thấp (35H) được lưu vào thanh ghi A, byte cao (0DH) được lưu vào thanh ghi B. Vậy, sau khi thực hiện lệnh `MUL AB`, thanh ghi B sẽ có giá trị là 0DH.

Câu hỏi liên quan