.include "m8def.inc" ;reset & interrupts rjmp main ;1 Reset rjmp inth0 ;2 Ext Int 0 rjmp inth1 ;3 Ext int 1 reti ;4 reti ;5 reti ;6 reti ;7 reti ;8 reti ;9 rjmp inth1 ;10 TC0 overflow reti ;11 reti ;12 reti ;13 reti ;14 reti ;15 reti ;16 reti ;17 reti ;18 reti ;19 ;Start main: ldi r16,0x02 out sph,r16 ;stack H initialisieren ldi r16,0x02 out spl,r16 ; stack L initialisieren ldi r16,0x00 ; Port D Eingang out ddrd,r16 ldi r16,0xff ; Port B Ausgang out ddrb,r16 ldi r16,0b00001010 ; Ext Int 0 und 1 Flanke out mcucr,r16 ldi r16,0b11000000 ; Ext Int 0 und 1 Enable out gicr,r16 ldi r16,0b00000101 ;vorteiler out TCCR0, r16 ;timer0 / 1024 ldi r16,0b00000001 ; interrupt maskieren out timsk, r16 ; timer interrupt bei overflow ldi r17,0xfe ;Preset out tcnt0,r17 sei mloop: nop rjmp mloop inth0: cli inc r16 out PORTB,r16 sei reti inth1: cli dec r16 out PORTB,r16 sei reti