.include "D:\RABOTA_PROTEUS\AVR_ASM\asm\Appnotes\tn861def.inc"


;==============
; RESET and INTERRUPT VECTORS
;==============
.CSEG
.org	0 ;
rjmp START	;   

.org	INT0addr ;
rjmp Forward	;Oa   INT0 ()

.org	INT1addr ;
rjmp Back	;Oa   INT1 ()


START:

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

ldi r16,0b11110000;(1<<PA7)|(1<<PA6)|(1<<PA5)|(1<<PA4);
out DDRA,r16 ; 7,6,5,4    DDRA  "1" ()
ldi r16,0b00000100;(1<<PA2) ;
out PORTA,r16 ;     A2
ldi r16,0b00011111;(1<<PB3)|(1<<PB2)|(1<<PB1)|(1<<PB0);"1" ()
out DDRB,r16 
ldi r16,0b01000000;(1<<PB6) ;
out PORTB,r16 ;     6
ldi r16,(1<<ISC01)|(1<<ISC00) ;
out	MCUCR,r16	;MCUCR   INT0-1  
ldi r16,0b11000000;(1<<INT1)|(1<<INT0) ;  INT0-1 GIMSK
out	GIMSK,r16	;  INT0-1 GIMSK
out	GIFR,r16	;   






sei	; 

;===================


main:


rjmp main;

;==================





Forward: ;   INT0

in R2,SREG;

sbi PINB, 4 ;


out SREG,R2;

reti;


Back: ;   INT1

in R2,SREG;


sbi PINA, 4 ;


out SREG,R2;

reti;