.def temp =r16 ;* Reset & Interrupt Vectors .cseg .org $0000 ; Define start of Code segment jmp RESET ; Reset Handler, jmp is 2 word instruction reti ; INT0 Handler on $0002, dummy nop reti ; INT1 Handler, if INTn used, 'reti' and 'nop' ; will be replaced by 'jmp INTn_Handler_Address' nop reti ; INT2 Handler nop reti ; INT3 Handler nop jmp Int4_handler ; INT4 Handler reti ; INT5 Handler nop reti ; INT6 Handler nop reti ; INT7 Handler nop reti ; Timer2 Compare Match Handler nop reti ; Timer2 Overflow Handler nop reti ; Timer1 Capture Event Handler nop reti ; Timer1 Compare Match A Handler nop reti ; Timer1 Compare Match B Handler nop reti ; Timer1 Overflow Handler nop reti ; Timer0 Compare Match Handler nop reti ; Timer0 Overflow Handler nop reti ; SPI Transfer Complete Handler nop reti ; USART0 RX Complete Handler nop reti ; USART0 Data Register Empty Hanlder nop reti ; USART0 TX Complete Handler nop reti ; ADC Conversion Complete Handler nop reti ; EEPROM Ready Hanlder nop reti ; Analog Comparator Handler nop reti ; Timer1 Compare Match C Handler nop reti ; Timer3 Capture Event Handler nop reti ; Timer3 Compare Match A Handler nop reti ; Timer3 Compare Match B Handler nop reti ; Timer3 Compare Match C Handler nop reti ; Timer3 Overflow Handler nop reti ; USART1 RX Complete Handler nop reti ; USART1 Data Register Empty Hanlder nop reti ; USART1 TX Complete Handler nop reti ; Two-wire Serial Interface Handler nop reti ; Store Program Memory Ready Handler nop ;*************************************************************** ;* MAIN program, Initialisation part .org $0046; M_INIT: RESET: ;* Stack Pointer init, ldi temp, LOW(RAMEND) ; RAMEND = max address in RAM" out SPL, temp ; RAMEND value in "m128def.inc" ldi temp, HIGH(RAMEND) out SPH, temp ldi temp, 0x03 out EICRB,temp ;INT4 rising edge ldi temp, 0x10 out EIMSK,temp ;INT4 enabled sei ;*************************************************************** ;* MAIN program, Endless loop part M_LOOP: nop jmp M_LOOP ;Endless Loop ;*************************************************************** ;* Subroutins, Interrupt routins Int4_handler: cli ldi r16,0x01 sei reti