Hi WH Tan I have read the manual and have just read it again. My code is nearly direct copy of the code in section 2.9.2.3 My code taken from the Microchip example on disk says #pragma code InterruptVectorLow = 0x18 Where the manual says #pragma code low_vector = 0x18 I can't see how that makes any difference The next section covers context saving. I'm not using any math routines or functions that return any thing ....other than void in my ISR. If I add the save=.tmpdata directive the complier says it is doing that for me already. (I only tried to add this to the high ISR and stopped trying when the compiler told me it was redundant. Micorchip support says on older compiler versions this was not done) Maybe there is something else I should save but I'm not sure what it would be. The next section is nesting of interrupts. This is where I might be mising a statement to set the GEIL bit that they talk about. The way I read that was if I wanted to nest interrupts I could by adding that statement. But I did not want to nest my low priority interupts (at least I don't think I do) they all have low latency so if they can "hang around till the current section finishes with no harm done then I'll get to them all in good time........hopefully The next section is the variable locate section. It says this helps the compiler locate/ generate the most efficent bank switching code. I've been through the whole thing and nothing lept out at me. So I'm at a loss to figure out just what exactly you are refering to. If you have any further clues I'd be grateful Phillip Things should be as simple as possible but no simpler Phillip Coiner CTO, GPS Source, Inc. Your source for quality GNSS Networking Solutions and Design Services, Now! -----Original Message----- From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu] On Behalf Of WH Tan Sent: Thursday, June 29, 2006 12:55 PM To: Microcontroller discussion list - Public. Subject: Re: [PIC] C18 resource remaining metric/test 2006/6/30, Phillip wrote: > That code is copied straight from the example from Microchip that is > included with the compiler. That sounds like you were copying the code without understanding what it actually does. See the #pragma interruptlow in the manual. The reason I point you to the manual is that it explains some other things that are relevant and important. Best regards, -- WH Tan -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist