Mail Archives: djgpp/2001/04/10/03:59:32
> From: Eduardo TUDA Lorenzetti Pellini <dochell AT MailAndNews DOT com>
> Newsgroups: comp.os.msdos.djgpp
> Date: Mon, 9 Apr 2001 19:19:01 -0400
>
> >What does it mean ``doesn't work''? Does the counter in the interrupt
> >routine stay at its zero value, or does something else go wrong?
>
> Well, after the redirection of the ISR 8 routine, the program do not finnish
> !
> The counter never arrives at the final value to trigger the rest of the code
> to finnish the program.
Does it ever get incremented at all?
I think your problem is that you don't send the EOI (End-Of-Interrupt)
command to the PIC, the Programmable Interrupt Controller chip. So
I'd expect the counter to be incremented once, and then no more
interrupts delivered to your program.
> Do I need to reactivate the IRQ 0 generation on any system timer port inside
> my new ISR (for example, the IRQ is generated for the first time, the ISR
> needs to reactivate it again for the next loop and so on...)
If you don't send EOI to the PIC, it thinks the interrupt is still in
progress, and masks off all further interrupts of the same IRQ.
- Raw text -