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





