Cho đoạn mã Assembler sau:
ORG 0000H
MOV A, #18H
SETB
CANL C, ACC.4
END.
Giá trị của C là:
Trả lời:
Đáp án đúng: B
Đoạn mã Assembler này thực hiện các bước sau:
1. `MOV A, #18H`: Gán giá trị 18H (tức là 24 trong hệ thập phân, hay 00011000 trong hệ nhị phân) vào thanh ghi A.
2. `SETB C`: Đặt bit C (carry flag) lên 1.
3. `ANL C, ACC.4`: Thực hiện phép AND logic giữa bit C và bit thứ 4 của thanh ghi A (ACC.4). Bit thứ 4 ở đây được tính từ phải sang trái, bắt đầu từ 0. Như vậy, ACC.4 là bit thứ 5 từ phải sang trái của A.
Trong trường hợp này:
- A = 00011000B
- ACC.4 = 1 (vì bit thứ 4 của A là 1)
- C = 1 (ban đầu)
Phép AND giữa C và ACC.4 là: 1 AND 1 = 1. Vậy giá trị cuối cùng của C là 1.
Do đó, đáp án đúng là B. 1.