I should add that the program counter jumps to 0x08 whenever both the a particular interrupt ENABLE and interrupt FLAG are both set. The program counter won't
jump around location 0x08 unless you tell it to. So at location 0x00, you need a jump to a location AFTER 0x08

I currently use a technique where I get data in an RS-232 input buffer at 230Kbaud, and the data must not be blocked (must be able to receive at all times), and the data must be processed
and a response given very quickly. Receiving the data in an ISR was no trouble, but processing and responding inside that ISR would block the next bytes, if they came immediately
after the first.

Processing and sending the data in the main loop (which was long), didn't work either because that would sometimes delay the response by up to .5 sec.

So, I set up the RX_INT as high priority, and just before the INT_RETURN, I set the TMR3 interrupt flag. But I don't have Timer3 running! Timer 3 interrupt is turned on, but is low priority.
The Timer 3 ISR jumps to the "process and send" routine".
If a packet comes in (I'm using an Ethernet to RS-232 converter, and I don't have flow control connected), it always gets captured. As soon as the packet is received, it triggers
the "process and send" routine. If another packet comes in immediately, the recieve ISR is entered again, since it is at a higher priority. Pointers insure that new data doesn't over-write old data.
Now the latency is 4-7 mSec, since it doesn't have to wait for the main loop to complete.