繁体   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