JavaScript is required

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ó giá trị như thế nào?

A. CX có giá trị bằng số ký tự được đọc vào

B. CX = 0

C. CX = 1

D. CX chứa giá trị được hiển thị

Trả lời:

Đáp án đúng: A


Đoạn chương trình thực hiện việc đọc các ký tự từ bàn phím cho đến khi gặp ký tự có mã ASCII bằng 0. - `MOV CX, 0`: Khởi tạo bộ đếm CX bằng 0. - `MOV AH, 1`: Thiết lập hàm đọc ký tự từ bàn phím. - `DOC: INT 21h`: Gọi ngắt 21h để đọc một ký tự từ bàn phím, ký tự này được lưu vào thanh ghi AL. - `CMP AL, 0`: So sánh ký tự vừa đọc (AL) với 0. - `JE thoat`: Nếu ký tự vừa đọc bằng 0, nhảy đến nhãn `thoat`. - `INC CX`: Nếu ký tự vừa đọc khác 0, tăng bộ đếm CX lên 1. - `JMP DOC`: Quay lại nhãn `DOC` để đọc ký tự tiếp theo. - `Thoat:` Khi gặp ký tự có mã ASCII bằng 0, chương trình sẽ nhảy đến nhãn `thoat` và kết thúc vòng lặp. Do đó, bộ đếm CX sẽ chứa số lượng các ký tự đã được đọc trước khi gặp ký tự có mã ASCII bằng 0. Vậy, CX có giá trị bằng số ký tự được đọc vào.

Câu hỏi liên quan