Xét đoạn chương trình sau: MOV CX,0 MOV AH,1 DOC: INT 21h CMP AL,0 JE thoat INC CX JMP DOC Thoat: Bộ đếm CX có chức năng gì?
Trả lời:
Đáp án đúng: A
Đoạn chương trình sử dụng ngắt INT 21h với AH=1 để đọc một ký tự từ bàn phím. Ký tự đọc được lưu vào thanh ghi AL. Sau đó, chương trình so sánh AL với 0. Nếu AL bằng 0 (tức là người dùng nhập ký tự có mã ASCII là 0), chương trình sẽ nhảy đến nhãn `thoat`. Nếu không, chương trình tăng giá trị của CX lên 1 và quay lại nhãn `DOC` để đọc ký tự tiếp theo. Như vậy, CX được dùng để đếm số ký tự đã được đọc từ bàn phím cho đến khi ký tự có mã ASCII là 0 được nhập vào.
Phân tích các đáp án:
- A. CX được dùng để đếm số ký tự được đọc vào: Đây là đáp án đúng, vì CX tăng lên mỗi khi một ký tự được đọc vào (trừ khi ký tự đó có mã ASCII là 0).
- B. CX dùng để khởi tạo bộ đếm: CX được khởi tạo bằng 0, nhưng nó không chỉ dùng để khởi tạo mà còn dùng để đếm.
- C. CX chứa số ký tự được hiển thị: Chương trình này chỉ đọc ký tự, không hiển thị.
- D. CX = 0: CX chỉ bằng 0 lúc khởi tạo, sau đó giá trị của nó thay đổi tùy thuộc vào số ký tự đọc được.





