[Back to ISR SWAG index] [Back to Main SWAG index] [Original]

    { What is an ISR?? Are there several things you have to know to create
     one in Pascal?? Thanks.

            ISR stands For interrupt service routine (I think; Hey, I
            just remember the abbriveation) :) But what it does is
            changes an interrupt vector to the address of a routine
            of yours then, your routine calls the actual interrupt code.

            In the next message, I'll post some heavily commented code
            that is a time TSR, But what is a TSR? Just a resident
            ISR. (By the way, The TSR screws up Blue Wave when resident)

            ---=== Extremely simplified version of how an ISR works ===---

            Assuming you know what an interrupt is (You called it a hardware
            command) ... When you call an interrupt (TP: Intr, Asm: int) the
            CPU stops what its doing and calls up a routine at a certain
            memory address (Which is called the interrupt's vector). You
            can get the address of the routine by using GETinTVEC. Now
            if you have this code
    }
              Uses Dos;
              Var
                 the_inTERRUPT: Procedure;
              begin
                 getintvec (--Interrupt num--, @the_inTERRUPT);
              end.
    {
            it will store the vector of the interrupt into @the_interrupt
            (if you dont know what a Pointer is, go back to the manual and
            read the section on them)
            So, Everytime you call the_inTERRUPT it will actually call what
            ever interrupt you made the_interrupt point to. on the same
            note SETinTVEC (--int num--, @your_Routine) will set it where
            when ever you call that interrupt it will execute your routine.

            What the ISR does is gets the vector of the interrupt you
            want to 'Latch' onto, puts it into a Procedure (As shown
            above) then, Uses SETinTVEC to set the ISR routine inside
            that interrupt. The ISR routine then calls the Procedure
            that points to the old interrupt.
    }

[Back to ISR SWAG index] [Back to Main SWAG index] [Original]