/* SLdt 240726 Disclaimer: none. Sue me. ATmega1284: Bootloader & Interrupt: https://www.mikrocontroller.net/topic/569711#new Bootloaderprogramm zaehlt LEDs auf PORTC 0..3 hoch Anwenderprogramm laesst LED an PORTD7 blinken beide Programme springen bei einem bestimmten Zaehlerstand in das jeweils andere avrasm2 */ .nolist .include "m1284Pdef.inc" ;******************************************************* .macro put .if @0 < $40 out @0,@1 .else sts @0,@1 .endif .endmacro ;---------------------- .macro puti ldi tmp0,@1 put @0,tmp0 .endmacro ;---------------------- .macro get .if @1 < $40 in @0,@1 .else lds @0,@1 .endif .endmacro ;******************************************************* .list .def tmp0 = r16 .def cnt = r18 .def tmpi = r20 .org $F000 rjmp reset .org $F000 + OVF1addr in tmpi,SREG push tmpi in tmpi,GPIOR0 inc tmpi out GPIOR0,tmpi out PORTC,tmpi pop tmpi out SREG,tmpi reti reset: ldi ZL,0 ldi ZH,0 puti RAMPZ,0 lpm tmp0,z cpi tmp0,$FF breq write puti MCUCR,(1<