Đoạn lệnh sau cho kết quả trong AL bằng bao nhiêu?
MOV CL, 3
MOV AL,10h
SHL AL, CL
Trả lời:
Đáp án đúng: B
Đoạn lệnh thực hiện các bước sau:
1. `MOV CL, 3`: Gán giá trị 3 vào thanh ghi CL. Thanh ghi CL thường được sử dụng để lưu số lần dịch bit trong các lệnh dịch (shift).
2. `MOV AL, 10h`: Gán giá trị 10h (tức là 16 trong hệ thập phân) vào thanh ghi AL.
3. `SHL AL, CL`: Dịch trái (Shift Left) nội dung của thanh ghi AL đi CL bit. Trong trường hợp này, AL (hiện đang chứa 10h = 16) sẽ được dịch trái 3 bit.
Phân tích phép dịch trái:
- Giá trị ban đầu của AL là 10h, tương đương với 00010000 trong hệ nhị phân.
- Dịch trái 3 bit sẽ cho kết quả: 00010000 -> 00100000 -> 01000000 -> 10000000.
- 10000000 trong hệ nhị phân tương đương với 80h hoặc 128 trong hệ thập phân.
Vậy, sau khi thực hiện đoạn lệnh, giá trị trong AL sẽ là 128.