Listing1—Now, this is the way to handle code generation for interrupt vectors. I like the idea of using the actual 
 datasheet names for the vectors.

//Interrupt Vector Numbers

#define iv_RESET        	1
#define iv_INT0         	2
#define iv_INT1         	3
#define iv_TIMER1_CAPT  	4
#define iv_TIMER1_COMPA 	5
#define iv_TIMER1_COMPB 	6
#define iv_TIMER1_OVF   	7
#define iv_TIMER0_OVF   	8
#define iv_SPI_STC      	9
#define iv_UART_RX      	10
#define iv_UART_RXC     	10
#define iv_UART_DRE     	11
#define iv_UART_UDRE   	11
#define iv_UART_TX      	12
#define iv_UART_TXC     	12
#define iv_ANA_COMP    	13
#define iv_ANALOG_COMP 	13