
static void isr_something(void) interrupt 3 using 1
{

 char ret;

 ... do stuff clear INT, check flags etc..
 //calling a big subroutine (only from this ISR nobody else calls it)
 
  ret = process_stuff();
  if ( ret != 0)
      SetErr(ret);   //this is just a macro writing somwhere in mem

}

char process_stuff using 1
{
  .... do stuff ....
}

