Was mich ein wenig stört.
Wo ist der Sprungeintrag für den Reset der bei Adresse 0 im Flash, also im Programmspeicher stehen sollte ?
Hiermal ein Auszug für einen ATtiny13

Code:
.include "tn13def.inc"        ;Label Zuweisungen
;
;Programmspeicher initialisieren
;
.CSEG              ;Code Segment
.ORG    $0000   ;Programm beginnt bei Adresse 0
;
;Programmstart mit Interrupt Vektoren
;        
rjmp Anfang     ;(RESET) External Pin, Power-on Reset, Brown-out 
reti                ;(INT0)External Interrupt Request 0
reti                ;(PCINT0) Pin Change Interrupt Request 0
reti                ;(TIM0_OVF) Timer/Counter Overflow 
reti                ;(EE_RDY) EEPROM Ready
reti                ;(ANA_COMP) Analog Comparator
reti                ;(TIM0_COMPA) Timer/Counter Compare Match A
reti                ;(TIM0_COMPB) Timer/Counter Compare Match B
reti                ;(WDT) Watchdog Time-out
reti                ;(ADC) ADC Conversion Complete
;
; Hier Startet das Programm bei einem Reset
;
Anfang:    ldi   r16,$FF            ;Zählerwert laden...
              ...
Bernd_Stein