Topic: "Multiple vector-single handler" and "global code translation"

I got the 2 following questions and want to post the answers that could help some other developpers facing the same issues:

1. It´s possible that a unique function (interrupt service routine) serves
several HW interrupts? When possible how can we implement it?

Try this:

void timer0_irq ( void ) interrupt 1
   {
   output_packet_timeout--;
   }
typedef struct
   {
   unsigned char ljmp_opcode;
   void (*fct) ( void );
   } t_irq_handler;
at 0x001b code t_irq_handler timer1_irq_handler = { 0x02, &timer0_irq };   //timer1 irq call timer0 handler
   

2. How can I allocate all the code in a fixed position (i.e we want that all
the code starts on the position 0x4000, reset interrupt included), without
to change the startup.a51, only with linker/compiler directives.

Insert the following directives in the additional options of the linker:     
        ABSOLUTECODEOFFS(04000H) CODE(04000H)