Ich hab das Alles mal (ungetestet!) zusammengetippert, probiers mal so:

Code:
NOLIST
.INCLUDE "m16def.inc" ; Headerdatei fuer Atmega 16
.LIST
;


;
; ============================================
;   R E G I S T E R D E F I N I T I O N E N
; ============================================

.DEF rmp = R16 ; Vielzweckregister
;

;
; ==============================================
;        R E S E T    V E K T O R
; ==============================================
;
.CSEG
.ORG $0000
    rjmp Main ; Reset-Vektor


; ==============================================
;                INTERRUPTS
; ==============================================

.ORG OVF0addr ; Timer 0 overflow

    rjmp schalten


;
; ============================================
;    H A U P T P R O G R A M M    I N I T
; ============================================
;
Main:
; 
    ; --- EDIT: init stack
    LDI rmp, HIGH(RAMEND)     ; Oberes Byte
    OUT SPH, rmp         ; an Stapelzeiger
    LDI rmp, LOW(RAMEND)     ; Unteres Byte
    OUT SPL, rmp        ; an Stapelzeiger

    ldi rmp,0x02    // PORT A1 Ausgang, rest Eingang
    out DDRA,rmp

    ldi rmp,0x00    
    out PORTA,rmp    // PORT A initialisieren

    sbi PORTA,0        // Pull-up für PORT A0 aktivieren

//// Timer 0 konfigurieren

    ldi rmp,0x05    // Prescaler 1024
    out TCCR0,rmp

    ldi rmp,0x01    // Interrupt bei Timer Overflow
    out TIMSK,rmp

    cli                // Globale Interrupts deaktivieren
;
; ============================================
;     P R O G R A M M - S C H L E I F E
; ============================================
;
Loop:
    
    wdr
    sbic PINA,0        ; EDIT: nächsten Befehl überspringen, wenn Taster *gedrückt* ist
    rjmp loop          // Zurueck nach Loop
    
    ; --- EDIT: timer auf 0 und globale ints
    LDI rmp, 0
    OUT TCNT0, rmp
    sei                   // Timer starten
    rjmp loop          // weiter im main loop

/// -----------------------------------
/// Zum ein und ausschalten der LED
schalten: 
    
    in rmp,PINA            // Zustand von LED einlesen
    ldi R17, 0xFF        // 
    eor R17,rmp            // exor um LED Zustand zu wechseln

    sbrc R17,1            // LED einschalten überspringen, wenn beim exor 0 rauskommt.
    sbi PORTA,1            // LED einschalten

    sbrs R17,1            // LED ausschalten überspringen, wenn beim exor 1 rauskommt.
    cbi PORTA,1            // LED ausschalten
    
    ; --- EDIT
    CLI
    RETI

/// -----------------------------------
Für größere Projekte solltest du aber TIMSK0 ändern, sei/cli setzt ja gleich alle ints tot.