Trong khi thực hiện một vòng lặp trong các chương trình lắp ráp 8086 của tôi, có một ngưỡng nhấn phím bàn phím trong đó nếu bạn nhấn một phím quá nhiều lần, loa PC sẽ bắt đầu kêu bíp. Đó là đáng ghét, và nó làm chậm chương trình của tôi để thu thập thông tin từ khi CPU phải nhảy ra khỏi chương trình của tôi và dành nửa giây lái xe loa.Làm thế nào để bạn vô hiệu hóa ngắt tiếng bíp loa PC xảy ra trong khi lặp?
Tôi thậm chí không biết vấn đề này tồn tại cho đến khi tôi bắt đầu thử nghiệm các chương trình của mình trên phần cứng thực tế cách đây vài tháng. Vấn đề này không phải là một vấn đề trong DosBox, hoặc ngay cả trong Dos 6.22 cài đặt bên trong DosBox. Vì vậy, nó phải là một số phần cứng cấp thấp gián đoạn được xây dựng vào BIOS PC, tôi không biết quá nhiều về công cụ này.
Nó xảy ra trên máy 286 của tôi và máy tính xách tay Pentium mmx của tôi bất kể hệ điều hành.
Thậm chí nếu nó chỉ là một vòng lặp chết, và tôi không phải là thậm chí bỏ phiếu cho đầu vào bàn phím, tiếng bíp vẫn xảy ra nếu tôi nhấn quá nhiều phím
Tôi đã thử gói chỉ nhập mã của tôi bên trong cli & sti để hy vọng mặt nạ đầu vào bàn phím của tôi từ hệ thống, nhưng điều đó không thực sự làm việc. Tôi thu thập một scancode chỉ ở một điểm duy nhất trong chương trình của tôi, do đó, phần còn lại của thời gian, ngắt được kích hoạt. Vì vậy, tiếng bíp vẫn có thể xảy ra phần lớn thời gian.
Phải có một số đăng ký phần cứng mà tôi có thể vô hiệu hóa hoặc một cái gì đó. Tôi lấy một cái nhìn tốt đẹp thông qua danh sách cổng của Boch (http://bochs.sourceforge.net/techspec/PORTS.LST) tìm kiếm một cái gì đó như thế, nhưng không thấy bất cứ điều gì.
Có lẽ tôi chỉ có thể tắt ngắt? Tôi tưởng tượng rằng rất nhiều lập trình viên lắp ráp phải đã gặp vấn đề này, nhưng Google thực sự không giúp tôi chút nào ở đây.
Có thể có một cài đặt trong BIOS của bạn để tắt âm thanh. –
Không, không có. Chỉ cần được rõ ràng, tôi không nói về âm thanh tiếng bíp báo chí nhỏ mà bạn có thể kích hoạt trong một số BIOS như một loại nhấp chuột giả mạo. Đây là cái gì đó chỉ xảy ra ở giữa các chương trình. Về cơ bản, máy tính đang cố gắng cảnh báo tôi bằng cách hét vào mặt tôi, "HEY YOU'RE STUCK IN A LOOP! BẠN CÓ BIẾT R THNG?" Nó chỉ là một cảnh báo không mong muốn không hữu ích trong trường hợp của tôi. –
BIOS đang kêu bíp để cảnh báo bạn về thực tế là [bộ đệm gõ bàn phím] (https://support.microsoft.com/en-us/help/43993/how-to-flush-the-keyboard-typeahead-buffer) đã đầy. Rõ ràng chương trình của bạn không xóa bộ đệm. Vui lòng chia sẻ một số mã để chúng tôi có thể biết bạn đang sử dụng phương pháp nào để đọc đầu vào bàn phím. –