+; enable interrupts int0,int1
+ldi r16,((1<<INT0)|(1<<INT1))
+out GIMSK,r16
+; int0/1 setup
+ldi r16,((1<<ISC01)|(1<<ISC00)|(1<<ISC10)|(1<<ISC11))
+out MCUCR,r16
+in r16,MCUCR
+sbic PORTD,PD2
+cbr r16,ISC00
+out MCUCR,r16
+sbic PORTD,PD3
+cbr r16,ISC10
+out MCUCR,r16
+
+; enable t/c overflow interrupt
+ldi r16,(1<<TOIE1)
+out TIMSK,r16
+; setup t/c
+ldi r16,((1<<CS12)|(1<<CS11)|(1<<CS10))
+out TCCR1B,r16
+
+; init bitcounter and overflow counter
+ldi r20,0 ; bitcounter
+ldi r21,0 ; register for constructing the byte
+ldi r22,0 ; overflow counter
+
+; constant 1 in r1
+ldi r16,1
+mov r1,r16
+