; Автор:	shilow@ukr.net
; Дата:
; Название:
; Версия:
; Имя файла:
; Для AVR:	ATmega8
; Тактовая частота:
; Выполняемые функции:
;
;

.listmac	; развернём макросы
; инклуды
.nolist
.include "m8adef.inc"
.list

; опредления
.def temp = r16		; рабочая переменная

; константы
.equ a = 0		; sample

;******************************
; ячейки в СОЗУ
.DSEG
;.ORG	SRAM_START
Sample:	.byte	30

; константы в EEPROM
.ESEG
smpl1:	.DW	0x0000	; sample 1
smpl2:	.DB	0x05	; sample 2

; память программ
.CSEG
.ORG 0
; Таблица векторов прерываний
	rjmp	RESET		; Reset Handler
	rjmp	EXT_INT0	; IRQ0 Handler
	rjmp	EXT_INT1	; IRQ1 Handler
	rjmp	TIM2_COMP	; Timer2 Compare Handler
	rjmp	TIM2_OVF	; Timer2 Overflow Handler
	rjmp	TIM1_CAPT	; Timer1 Capture Handler
	rjmp	TIM1_COMPA	; Timer1 CompareA Handler
	rjmp	TIM1_COMPB	; Timer1 CompareB Handler
	rjmp	TIM1_OVF	; Timer1 Overflow Handler
	rjmp	TIM0_OVF	; Timer0 Overflow Handler
	rjmp	SPI_STC		; SPI Transfer Complete Handler
	rjmp	USART_RXC	; USART RX Complete Handler
	rjmp	USART_UDRE	; UDR Empty Handler
	rjmp	USART_TXC	; USART TX Complete Handler
	rjmp	ADCC		; ADC Conversion Complete Handler
	rjmp	EE_RDY		; EEPROM Ready Handler
	rjmp	ANA_COMP	; Analog Comparator Handler
	rjmp	TWSI		; Two-wire Serial Interface Handler
	rjmp	SPM_RDY		; Store Program Memory Ready Handler

;
RESET:
;;;;; Первичная инициализация
; Set Stack Pointer to top of RAM
	ldi	temp,high(RAMEND)
	out	SPH,temp
	ldi	temp,low(RAMEND)
	out	SPL,temp
; выкл. аналог. компаратор
	ldi	temp,1<<ACD
	out	ACSR,temp
; Enable interrupts
	sei
BEGIN:
;;;;; Основная программа
	rjmp	BEGIN

;;;;; Подпрограммы

;;;;; Обработчики прерываний

; IRQ0 Handler
EXT_INT0:
	reti

; IRQ1 Handler
EXT_INT1:
	reti

; Timer2 Compare Handler
TIM2_COMP:
	reti

; Timer2 Overflow Handler
TIM2_OVF:
	reti

; Timer1 Capture Handler
TIM1_CAPT:
	reti

; Timer1 CompareA Handler
TIM1_COMPA:
	reti

; Timer1 CompareB Handler
TIM1_COMPB:
	reti

; Timer1 Overflow Handler
TIM1_OVF:
	reti

; Timer0 Overflow Handler
TIM0_OVF:
	reti

; SPI Transfer Complete Handler
SPI_STC:
	reti

; USART RX Complete Handler
USART_RXC:
	reti

; UDR Empty Handler
USART_UDRE:
	reti

; USART TX Complete Handler
USART_TXC:
	reti

; ADC Conversion Complete Handler
ADCC:
	reti

; EEPROM Ready Handler
EE_RDY:
	reti

; Analog Comparator Handler
ANA_COMP:
	reti

; Two-wire Serial Interface Handler
TWSI:
	reti

; Store Program Memory Ready Handler
SPM_RDY:
	reti

.exit
