使用中断来减慢程序在c和汇编语言中

问题描述

我想根据以下条件使用中断来减慢程序速度:

  • 如果我按下键盘上的向上箭头,速度将会提高
  • 如果我按下键盘上的向下箭头,速度将会降低

我想通过使用中断来完成:如果速度降低,我将屏蔽更多中断,如果速度提高,我将屏蔽中断。
我知道如何到达键盘中断以及屏蔽和取消屏蔽中断。
我只是不知道如何达到程序速度。 我正在用C和汇编语言编写代码

解决方法

您可以做的一件事情是拦截之一,例如大约18的BIOS时钟滴答int 08h或(更好)MS-DOS int 1Ch处理程序。赫兹。然后基于由某些键盘事件控制的变量添加浪费时间的循环。

确保在每次延迟之前重新启用中断。

在程序结束时,您将负责恢复原始中断向量。

在不调整仿真的情况下,程序的加速不能超过其启动速度。