我熟悉INT 16h,它等待鍵盤輸入,但我正在開發一款遊戲,並且我希望有一個遊戲循環,在屏幕上呈現動畫,並且每當有是一個鍵盤命中,8086應該去我的中斷處理程序,並告訴我哪個鍵已被按下來相應地更新我的數據。8086在繪圖時聽鍵盤
我該怎麼做?
我熟悉INT 16h,它等待鍵盤輸入,但我正在開發一款遊戲,並且我希望有一個遊戲循環,在屏幕上呈現動畫,並且每當有是一個鍵盤命中,8086應該去我的中斷處理程序,並告訴我哪個鍵已被按下來相應地更新我的數據。8086在繪圖時聽鍵盤
我該怎麼做?
您還可以在AH而不是0,輪詢輸入與1調用INT 16
INT 16h/AH = 01h - check for keystroke in the keyboard buffer.
return:
ZF = 1 if keystroke is not available.
ZF = 0 if keystroke available.
AH = BIOS scan code.
AL = ASCII character.
(if a keystroke is present, it is not removed from the keyboard buffer).
在MS-DOS,你可以編寫自己的自定義鍵盤中斷處理程序時,和在自定義鍵盤中斷處理程序代碼就可以了,例如:
設置一個標誌,與日通知主循環/畫環,一個鍵被按下,一起e密鑰的掃描碼,或...
根據密鑰的掃描碼修改自定義中斷處理程序中的主循環/循環的代碼。
有關編寫自定義[鍵盤]更多信息中斷處理程序,例如參見:
相關? http://stackoverflow.com/questions/10480576/custom-keyboard-interrupt-handler –