簡體   English   中英

使用中斷減慢程序(在 c 和匯編中)

[英]Slowing down a program (in c and assembly) using interrupts

我想根據這些條件使用中斷減慢程序的速度:

  • 如果我按鍵盤上的向上箭頭,速度會增加
  • 如果我按下鍵盤上的向下箭頭,速度會降低

我想通過使用中斷來做到這一點:如果速度應該降低,我將屏蔽更多的中斷,如果速度應該增加,我將取消屏蔽中斷。
我知道如何到達鍵盤中斷並屏蔽和取消屏蔽中斷。
我只是不知道如何達到程序速度。 我正在用 c 和匯編編寫代碼。

您可以做的一件事是攔截中斷之一,例如以大約 18 赫茲調用的 BIOS 時鍾滴答int 08h或(更好的)MS-DOS int 1Ch處理程序。 然后根據由某些鍵盤事件控制的變量添加浪費時間的循環。

確保在每次延遲之前重新啟用中斷。

在程序結束時,您負責恢復原始中斷向量。

在不調整仿真的情況下,您無法將程序加速到比其啟動速度更快的速度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM