Hallo Dirk,

Deine Methode ist sehr heikel. Auch wenn Du mit AVR Studio die Register geprüft hast, weist Du nicht was Bascom in anderen Versionen zwischen "$end Asm" und "$asm" mit den Registern anstellt.

Darum gilt: Programmiere jede NoSave ISR immer(!!) durchgängig in ASM. Bei komplexen Aufgaben in der ISR nur ein Flag setzen und in der Main das Flag abarbeiten.

Hier mal der angefragte Code für die Byte Variable Zaehler:
Code:
isr_Zaehler:
$asm
   PUSH   R24                 'save used registers
   IN r24, SREG
   PUSH R24

   LDS     R24,{Zaehler}
   SUBI    R24,&HFF           'Incr Zaehler
   STS {Zaehler},R24


   POP R24                    'get content of SREG
   !OUT SREG, R24
   POP R24
$end Asm
Return
Hinweis: In ASM gibt es ADD mit einer Konstanten nur für Word (ADIW), deshalb SUBI.