I don't know what revision of the compiler you are using, but some older revisions had some trouble with indirect addressing registers. If you are using an older version, please upgrade to latest or at least use large memory model & 16-bit stack. IMHO better is to use: #pragma interrupt high_isr save=PRODL,PRODH,section(.tmpdata),section("MATH_DATA") - .tmpdata has to be saved if you call a C-function from the interrupt function. - MATH_DATA has to be saved if you use floating point variables in any way during interrupts New manual has quite good instructions how to make interrupts, download it from the website. Regards, Kari Lehikko Finland Silvio Baccari wrote: > > I'm using C18 compiler with 18F452 , but some time the execution of > interrupt conflict with execution of the "normal" code not in the ISR. > I have used the directive: > > #pragma interrupt high_isr save = > PRODL,PRODH,BEXP,AEXP,AARGB0,AARGB1,AARGB2,AARGB3,BARGB0,BARGB1,BARGB2,BARGB3 > > Is there another solution for this type of problem? > > Silvio > > -- > http://www.piclist.com hint: PICList Posts must start with ONE topic: > [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics