Es muß RETI sein. Sonst wird das Global Interrupt Enable Bit in SREG nicht mehr gesetzt, daß ja zur Ausführung der ISR vom µC gelöscht wurde. Effekt: Interrupt tritt nur einmal auf und dann nicht mehr.
Keine Funktion (Invertieren der Bits im PORTB?) im Simulator? Woran erkennst Du das? Keine Funktion im Atmega (LEDs, Oszilloskop). Liegts am Simulator (kann ich selbst nicht testen)?
Mit welchem Takt läuft der Atmega? Bei Vorteiler 1 würde eine LED schon irre schnell blinken, so daß man das nicht sehen kann.
Diese Zeile hier "ldi r16, 0x01 ; setze Pin 1 als High." ist irreführend kommentiert. Damit wird Bit 0 in r16 gesetzt. Später in der ISR wird damit PB0 getoggelt (mal abgesehen davon, daß auch alle anderen PBs in der ISR getoggelt werden.)
Beschreib genau was Du wie erwartest und wo (Simulator, in der Schaltung, ...) und was da nicht geht.
Gruß
Searcher
Lesezeichen