Here is my configuration address: Boot program (EPROM) 0000-3FFF Application (RAM) 4000-FFFF Interrupt vectors are from 0000 to 007B, i.e. fixed in EPROM. My boot program doesn't used any interrupt, but my applicative downloaded program use them. ItBoot.c: #pragma SRC void ITx(void) interrupt x using y { #pragma asm LJMP $40x0 #pragma endasm } ItAppli.c: void ITx(void) interrupt x using y { MyITx(); } void MyITx(void) { TreamentMyITx(); } void TreamentMyITx(void) { ... // My treament of IT vector x } NB:MyITx() function is fixed in address 40x0H with linker directive Today this the only way I can see. Does it work? Can I use longjmp() routine? how? Does any other solution (with less call of functions) exist? Thank you for your help Yann