If your C functions are ordinary ISR routines (like interrupt void TimerISR(void) ) then you should call them with a plain JMP TimerISR. ISR C-routines are ended with a RTI instruction, and they must be called directly from the interrupt (and they must be in the non-paged area of the memory).
An other way to do it would be that your assembler routine calls ordinary C functions (like void TimerSecISR(void)) with a CALL TimerSecISR (if TimerSecISR is in paged memory) or JSR TimerSecISR (non-paged memory), but then your assembler routine must be aware of that the control will return to it after the routine completes and the RTI must be in the assembler code.