JavaScript is required

Biết lệnh gọi ngắt là INT và số hiệu ngắt cứng của bàn phím là 09h và ngắt mềm là 16h vậy có thể gọi ngắt bàn phím bằng các lệnh

A.
mov AH, 09 Int 09h
B.
mov AL, 16 Int 16h
C.
mov AH, 16 Int 09h
D.
mov AH, 01 Int 16h
Trả lời:

Đáp án đúng: D


Để gọi ngắt bàn phím, ta cần sử dụng số hiệu ngắt tương ứng. Trong trường hợp này, ngắt cứng của bàn phím là 09h và ngắt mềm là 16h. Thông thường, để gọi một ngắt, ta nạp số hiệu dịch vụ vào thanh ghi AH (hoặc AL tùy thuộc vào yêu cầu của ngắt) rồi gọi lệnh INT với số hiệu ngắt. - Đáp án A không đúng vì nó sử dụng ngắt cứng (09h) thường dành cho các tác vụ hệ thống cấp thấp hơn, không phải là cách thông thường để đọc dữ liệu bàn phím thông qua ngắt mềm. - Đáp án B không đúng vì nạp số hiệu ngắt vào AL thay vì AH, và số hiệu ngắt 16h thường yêu cầu nạp các tham số vào AH. - Đáp án C không đúng vì nó nạp 16 vào AH và gọi ngắt 09h, bị sai cả số hiệu dịch vụ lẫn số hiệu ngắt. - Đáp án D đúng. Ngắt 16h là ngắt mềm của bàn phím. Với AH=01, dịch vụ sẽ kiểm tra xem có phím nào được nhấn hay không mà không lấy ký tự đó ra khỏi bộ đệm bàn phím. Nếu có phím được nhấn, cờ ZF (Zero Flag) sẽ bị xóa (ZF=0), và mã ASCII của phím sẽ được trả về trong AL. Nếu không có phím nào được nhấn, ZF sẽ được đặt (ZF=1). Do đó, đáp án D là đúng.

Câu hỏi liên quan