Я делаю это так:
.include "......."
.cseg
.org $0 ; <Таблица векторов прерываний>
RJMP reset ; Запуск контроллера после сброса/вкл. питания
RETI ; Внешнее прерывание 0
RJMP irq_1 ; Внешнее прерывание 1
RETI ; Захват таймера 1
RETI ; Сравнение таймера 1
RJMP tmr1ov ; Переполнение таймера 1
RJMP tmr0ov ; Переполнение таймера 0
RETI ; Буфер приема UART полон
RETI ; Регистр данных UART пуст
RETI ; Буфер передачи UART пуст
RJMP ana_comp ; Прерывание от аналогового компаратора
irq1: <обработчик прерывания>
..........
RETI
tmr1ov: <обработчик прерывания>
..........
RETI
tmr0ov: <обработчик прерывания>
..........
RETI
ana_comp: <обработчик прерывания>
..........
RETI
reset: <основная программа>
..........
..........
..........