這個問題聽起來有點奇怪。我想完全控制我的鍵盤。在彙編語言中,可以通過更改鍵盤端口中運行的ISR的地址。在Java中可能嗎?如何找到我的鍵盤端口號以及如何將來自鍵盤端口的請求重定向到ISR?Java中的中斷服務例程
回答
絕對沒有辦法做你在問什麼。
雖然在Java中編寫ISR會非常困難,但問題並不在於與您的編程語言選擇有任何關係。相反,它與用戶模式/內核模式特權分離有關。
在現代操作系統上,中斷服務程序在內核中完全處理,內核受硬件保護,不受用戶空間(讀:「你」)的限制。要在引導進入Windows時在此級別與硬件進行交互,您將需要編寫內核模式設備驅動程序。即使這對於Windows想要獨佔控制的鍵盤等硬件來說也是不夠的。
如果你想玩這個級別的硬件,最好的辦法是將你的系統(或虛擬機)啓動到DOS(不是DOSBox,不是命令提示符,而是實際的DOS),並刷新在您的16位實模式Intel組件上,以及BIOS calls。
如果您正在嘗試編寫鍵盤記錄程序,或者因爲鍵盤與正在運行的應用程序的交互作用而發生混亂,您可以查看Win32 hooks。
我可能聽起來很愚蠢,但是可以在64位機器上進行16位模式編程。可用於64位機器的dos可以。 – Shantanu 2014-10-02 04:15:02
是的。所有x86處理器仍然在原始[8086](http://en.wikipedia.org/wiki/Intel_8086)所採用的相同的16位「真實模式」中啓動。 – 2014-10-02 04:52:25
我以前在masm32編輯器中編寫我的asm程序。但是這不能在我的64位m/c中工作。更具體地說,link563.exe沒有安裝。我會在哪裏編寫我的程序?任何好的編輯器 – Shantanu 2014-10-02 14:27:34
- 1. 中斷服務程序8086
- 2. Java Web服務中的單例對象
- 3. BigQuery服務中斷?
- 4. Android服務中斷
- 5. java中的線程中斷
- 6. Java中的線程中斷
- 7. 中斷Java中的線程
- 8. 中斷java中的線程
- 9. Java - 中斷線程?
- 10. Java 6的線程中斷
- 11. 服務中斷 - 進口
- 12. Java中的線程REST Web服務
- 13. Java中服務層的多線程
- 14. Executor服務中的依賴線程 - Java
- 15. Java中的多線程服務器
- 16. java中的服務器端編程
- 17. 如何將客戶端的recv()部分更改爲中斷服務例程?
- 18. Web服務中的例外
- 19. WCF中的服務實例
- 20. 從服務器端斷開的java socket
- 21. ISR(中斷服務程序)中的信號量同步
- 22. 中斷服務程序中的互斥體
- 23. C#中TCP服務器的TCP客戶端線程中斷#
- 24. 從服務器斷斷續續的'401:未授權'例外
- 25. Java線程中斷()。這是正常的例外嗎?
- 26. 未找到驅動程序Web服務示例中的例外
- 27. Java,停止(中斷)線程
- 28. Java線程不中斷
- 29. Java線程中斷異常
- 30. 線程中斷和ActionListener Java
DOS是最常用的操作系統,用戶代碼可以鏈接ISR並觸摸x86 I/O端口。你在DOS上運行Eclipse嗎? – Gene 2014-10-01 04:06:44
沒有。我在64位平臺上使用windows 7 – Shantanu 2014-10-01 04:10:12
哪個文件你談論的 – Shantanu 2014-10-01 04:23:16