Interrupts?

by (Login Mikrondel)
R

"The real time nature of DOS seems to be interrupted 1 1/2 times per second. It looks like something is performing some "housekeeping" task. This is the crux of my problem."

The computer architecture you're using (like many others) includes a mechanism for hardware devices to cause the processor to interrupt its current task so as to quickly respond to whatever situation has arisenm and this is known as an "interrupt". For instance, pressing a key on the keyboard will cause the processor to stop what it's doing, run the keyboard interrupt handler, and then resume the previous task.

I think the serial and parallel ports trigger interrupts of their own, allowing the operating system to grab whatever data has arrived before it disappears.

So yes, there are "housekeeping" things that interrupt your program installed by both the BIOS and by DOS. This is a normal (and usually important) process. This page lists some common hardware interrupt assignments:

http://en.wikipedia.org/wiki/Intel_8259#PC.2FXT_and_PC.2FAT

The interrupt service routines actually installed may vary in length and frequency. E.g. the timer interrupt occurs, on average, 18.2 times per second, but the interruption does not last very long. Other interrupts may occur infrequently but take more time to handle.



I can't say whether this is contributing to your problem or not. The problem may reside in your program itself (I would very strongly suggest you show us the program - all of us have had our fair share of extremely silly errors and having someone else check your program can save a lot of time and frustration).

Posted on Mar 28, 2008, 12:19 AM
from IP address 220.245.178.132

Respond to this message   

Goto Forum Home


Response TitleAuthor and Date
You typed "arisenm." Did you mean "arisen?"Typing Police on Mar 28
 "arisnm"Ralph on Mar 28
 * Getting tired of the Police and Useless Humorless posts. on Mar 28
* End of usefullness in this thread W/O reply on Mar 28
 * True if OPwon't post code ->>>>>> Jack Cain on Mar 28
  Parallel port problemsJack C. on Mar 31
   Wrong port address? on Mar 31
   * OOPS! 632 = &H278 on Mar 31
   Maybe it is TIMER that is wrongDavid on Mar 31
    True, TIMER values should also be Singles for KHZ on Mar 31
     TimerJack C. on Mar 31
      I realize that, but you continue to try anyway on Mar 31
      Try this on Mar 31
       Don't forget operator precedence, Ted on Apr 1
        * I did, thanks on Apr 1
   How long is the on time of the pulse? on Apr 1
    Pulse timeJack C. on Apr 1
     That seems a bit shortDavid on Apr 1
     If you can just use the 1Khz pulse to count then on Apr 1
      Why not set the timer to 1msDavid on Apr 1
       Try it with some "output" code on Apr 1