Danke für die kompetente Antwort,das hat mich schon etwas weiter gebracht...Ich habe leider wenig Zeit,daher erfolgt meine Antwort erst jetzt!
Wenn ich ehrlich bin war mir das mit dem Array zu komplitziert. Ich hab jetzt einfach meherere Word Variablen (K1 bis K7 + Pause als Word)

Code:
Rc:

!PUSH    R16
!in R16 , Sreg
!push r24
!push r25
!PUSH    R16
!LDS     R16,       {Kanal}
!INC     R16                                                'Kanal um 1 erhöhen
!STS     {Kanal}, R16

cbi portd,4                                                 'Alle Ports=0
cbi portB,6
cbi portB,7
cbi portD,5
cbi portD,6
cbi portD,7
cbi portB,0



cpi r16,1
Brne K2                                                     ' wenn ungleich 1 -> weiterspringen
Sbi portd,4                                                 'Ansonsten-> Port einschalten ,Timer mit Kanalwert vorladen
LDS      R24, {k1}                                          'holen Byte 1  (bits 0-7)
LDS      R25, {k1+1}                                        'holen Byte 2  (bits 8-15)
!Out Tcnt1H , R25
!Out Tcnt1l , R24

K2:
cpi r16,2
Brne K3                                                     ' wenn ungleich 2 -> weiterspringen
Sbi portB,6                                                 'Ansonsten-> Port einschalten ,Timer mit Kanalwert vorladen
LDS      R24, {k2}                                          'holen Byte 1  (bits 0-7)
LDS      R25, {k2+1}                                        'holen Byte 2  (bits 8-15)
!Out Tcnt1H , R25
!Out Tcnt1l , R24


K3:
cpi r16,3
Brne K4
Sbi portB,7
LDS      R24, {k3}                                          'holen Byte 1  (bits 0-7)
LDS      R25, {k3+1}                                        'holen Byte 2  (bits 8-15)
!Out Tcnt1H , R25
!Out Tcnt1l , R24

K4:
cpi r16,4
Brne K5
Sbi portd,5
LDS      R24, {k4}                                          'holen Byte 1  (bits 0-7)
LDS      R25, {k4+1}                                        'holen Byte 2  (bits 8-15)
!Out Tcnt1H , R25
!Out Tcnt1l , R24

K5:
cpi r16,5
Brne K6
Sbi portd,6
LDS      R24, {k5}                                          'holen Byte 1  (bits 0-7)
LDS      R25, {k5+1}                                        'holen Byte 2  (bits 8-15)
!Out Tcnt1H , R25
!Out Tcnt1l , R24

K6:
cpi r16,6
Brne Pause
Sbi portb,0
LDS      R24, {k6}                                          'holen Byte 1  (bits 0-7)
LDS      R25, {k6+1}                                        'holen Byte 2  (bits 8-15)
!Out Tcnt1H , R25
!Out Tcnt1l , R24


Pause:
cpi r16,7
Brne Ende                                                   ' wenn ungleich 7 -> weiterspringen
LDS      R24, {Pause}                                       'holen Byte 1  (bits 0-7)
LDS      R25, {Pause+1}                                     'holen Byte 2  (bits 8-15)
!Out Tcnt1H , R25
!Out Tcnt1l , R24

!LDI     R16,       0                                       'Kanal=0
!STS     {Kanal}, R16

Ende:

pop r24
pop r25
pop r16
!out sreg,r16
pop r16

Return

Das ist nun meine neue Timer1 ISR. Die Ausgabe der Kanäle funktuioniert auch.Nur scheint es ein Problem zu geben ,welches mir nicht ersichtlich ist.... Sobald ich den Interrupt als Nosave definiere,läuft mein Hauptprogramm nicht mehr,wobei die letzten Servowerte weiterhin ausgegeben werden (Timer1 Int läuft also noch).

Theoretisch ist das dann doch was ganz offensichtliches? Vlt. kann mir da jemand helfen,denn ich stehe quasi fast vor dem Ziel

Nur zur Info:
K1 - K7 werden mit 64000+-500 vorgeladen
Pause ist im Moment ein Fixwert : 50000


Gruß