.include "tn261def.inc"
.list

.def tmp=r16
.def tmp0=r17
.def cnt=r19

.cseg
	.org $13
reset:
ldi r16, low(RAMEND) ; Main program start
ldi r17, high(RAMEND); Tiny861 have also SPH
out SPL, r16 ; Set Stack Pointer to top of RAM
out SPH, r17 ; Tiny861 have also SPH
sei ; Enable interrupts

	ldi tmp,0b00000100		;0b00000100	;0.25ìêñ*128=64ìêñ
	out tccr0b,tmp
	ldi tmp,(1<<toie0)
	out timsk,tmp		;Enable Timer/Counter0
;	sei

main:
nop
rjmp main

delay_100ms:
	ldi tmp0,$a0
	rjmp delay_ms

delay_10ms:
	ldi tmp0,$0a

delay_ms:
	clr tmp
	rcall delay_us
	rcall delay_us
	rcall delay_us
	rcall delay_us
	subi tmp0,1
	brne delay_ms
	ret

delay_100us:
	ldi tmp,$a0
	rjmp delay_us
delay_10us:
	ldi tmp,$0a
delay_us:
	subi tmp,1
	nop
	brne delay_us
	ret



TIM0_OVF:
nop
reti

;		Address Labels Code Comments
.org $00
	rjmp RESET ; Reset Handler
	reti;		rjmp EXT_INT0 ; IRQ0 Handler
	reti;		rjmp PCINT ; PCINT Handler
	reti;		rjmp TIM1_COMPA ; Timer1 CompareA Handler
	reti;		rjmp TIM1_COMPB ; Timer1 CompareB Handler
	reti;		rjmp TIM1_OVF ; Timer1 Overflow Handler
	rjmp TIM0_OVF ; Timer0 Overflow Handler
	reti;		rjmp USI_START ; USI Start Handler
	reti;		rjmp USI_OVF ; USI Overflow Handler
	reti;		rjmp EE_RDY ; EEPROM Ready Handler
	reti;		rjmp ANA_COMP ; Analog Comparator Handler
	reti;		rjmp ADC ; ADC Conversion Handler
	reti;		rjmp WDT ; WDT Interrupt Handler
	reti;		rjmp EXT_INT1 ; IRQ1 Handler
	reti;		rjmp TIM0_COMPA ; Timer0 CompareA Handler
	reti;		rjmp TIM0_COMPB ; Timer0 CompareB Handler
	reti;		rjmp TIM0_CAPT ; Timer0 Capture Event Handler
	reti;		rjmp TIM1_COMPD ; Timer1 CompareD Handler
	reti;		rjmp FAULT_PROTECTION ; Timer1 Fault Protection


.exit