а если просто поставить в начале свой ообработчик на асм, а потом сделать rjmp на С шный обработчик или вообще поставить их друг за другом с помощью указания сегментов.
Код
COMMON INTVEC:CODE:ROOT(1); Align at an even address
ORG ...
RJMP asm_handler
RSEG INTASMCODE:CODE:ROOT(1)
asm_handler:
......
EXTERN c_handler
REQUIRE c_handler
Код
#pragma location="INTCCODE"
void __monitor c_handler(void)
{
....
и разместить сегменты INTASMCODE, INTCCODE подряд - это сэкономит один jmp