我是汇编程序的新手,所以这个问题听起来可能很愚蠢,但究竟应该在光栅中断处理程序中实现什么类型的代码?
所以我知道这个处理程序在渲染所需的光栅线时被调用。但这似乎只发生一次(如果我确认中断)。除非我清除屏幕或重新绘制它的相关部分,否则不会再次调用处理程序例程,对吗?
那么使用中断有什么意义呢?
如果有这样的主循环:
main
jsr readKeyboard
jsr readJoystick
...
jmp main
...然后我有一个无限循环监控一切,所以我不明白我用中断做什么?
我的意思是,我认为中断可以用来实现事件系统。它们通过等待消除了轮询和浪费 CPU 周期的需要。但如果它们只发生一次,那么这是不可能的。
interruptHandler
inc $d019 ; acknowledge
...
; do the work
jmp $ea81
如果我这样承认,则该方法仅被调用一次。如果我不这样做,它会被一遍又一遍地调用。
所以请帮助我理解这里的概念。
使用中断的正确方法是什么?它们适用于什么功能?我应该什么时候使用它们?
谢谢!