1

我是汇编程序的新手,所以这个问题听起来可能很愚蠢,但究竟应该在光栅中断处理程序中实现什么类型的代码?

所以我知道这个处理程序在渲染所需的光栅线时被调用。但这似乎只发生一次(如果我确认中断)。除非我清除屏幕或重新绘制它的相关部分,否则不会再次调用处理程序例程,对吗?

那么使用中断有什么意义呢?

如果有这样的主循环:

main
  jsr readKeyboard
  jsr readJoystick
  ...
  jmp main

...然后我有一个无限循环监控一切,所以我不明白我用中断做什么?

我的意思是,我认为中断可以用来实现事件系统。它们通过等待消除了轮询和浪费 CPU 周期的需要。但如果它们只发生一次,那么这是不可能的。

interruptHandler
  inc $d019 ; acknowledge
  ...
  ; do the work
  jmp $ea81

如果我这样承认,则该方法仅被调用一次。如果我不这样做,它会被一遍又一遍地调用。

所以请帮助我理解这里的概念。

使用中断的正确方法是什么?它们适用于什么功能?我应该什么时候使用它们?

谢谢!

4

0 回答 0