JavaScript is required

Kết quả sau khi thực hiện đoạn lệnh Assembley sau thì AH có giá trị nào:
MOV AH,0F              RCL AH,1

A.
1E
B.
EF
C.
EE
D.
FF
Trả lời:

Đáp án đúng: A


Đoạn lệnh Assembly thực hiện như sau: 1. `MOV AH, 0F`: Gán giá trị 0F (hệ thập lục phân) cho thanh ghi AH. Giá trị này tương đương với 15 (hệ thập phân) hay 00001111 (hệ nhị phân). 2. `RCL AH, 1`: Thực hiện phép quay trái có nhớ (Rotate Carry Left) 1 bit đối với thanh ghi AH. Phép toán này dịch tất cả các bit trong AH sang trái 1 vị trí. Bit cao nhất (bit 7) sẽ được chuyển vào cờ nhớ (Carry Flag - CF), và giá trị của CF trước khi thực hiện lệnh sẽ được đưa vào bit thấp nhất (bit 0). Giả sử CF ban đầu là 0 (thông thường thì khi bắt đầu chương trình, CF sẽ có giá trị mặc định là 0, hoặc có thể được thiết lập bằng các lệnh khác). Vậy, ta có: - AH = 00001111 - Thực hiện RCL AH, 1: - Các bit dịch sang trái: 00001111 -> 00011110 - Bit 7 (0) chuyển vào CF. - Giá trị CF (0) chuyển vào bit 0. - Kết quả: AH = 00011110 (hệ nhị phân). Chuyển đổi 00011110 (hệ nhị phân) sang hệ thập lục phân: - 0001 = 1 - 1110 = E Vậy, AH = 1E (hệ thập lục phân). Do đó, đáp án đúng là 1E.

Câu hỏi liên quan