...Interruptaufruf alle Register
So ein ATMEL Controller hat 32 Register.
Bascom sichert ganz am Anfang der Interruptroutine alle diese auf dem Stack und holt sie am Ende wieder vom Stack runter.
PUSH R0
PUSH R1
IN R1,SREG
PUSH R1
PUSH R2
PUSH R3
...
PUSH R31

; Deine Interruptroutine

POP R31
....
POP R3
POP R2
POP R1
OUT SREG,R1
POP R1
POP R0

Das sind schon mal 66 Prozessortakte die bei jedem Interruptaufruf verloren gehen.
Meinst du es ist für uns Anfänger machbar so eine Steuerung in absehbarer Zeit mit Assembler zu programmieren ?
Wenn Ihr schon mal irgendwas in Assembler gemacht habt ist das kein Problem. Der AVR Assembler kennt nicht viele Befehle.
Zudem lässt Bascom inline Assembler zu. Das bedeutet Ihr könnt das komplette Programm in Bascom schreiben und nur für die Zeitkritischen Sachen Assembler verwenden.
Im Prinzip handelt es sich bei Euch ja nur um Inkremente, bzw. Die Addition um +1.
Das geht in Assembler mit ADD bzw. ADC oder ADIW.
Dann müssen nur die alten Werte aus dem RAM in benutzen Register geladen werden.
Das geht mit LD bzw. LDS.
Sowie die Ergebnisse wieder ins RAM zurückgeschrieben werden also ST bzw. STS.

Die Variablen - Speicherplätze kannst Du in Bascom ja fest vorgeben, dann kann Bascom die aktuellen Werte direkt als Variable auslesen.

Um das sichern des SREG und der benutzten Register musst Du dich allerdings selber kümmern.
Ich würde da mal einen Geschwindigkeitserhöhung um den Faktor 10 prognostizieren.

Simulieren sollte mit AVR Studio möglich sein. Hab ich aber mit Bascom noch nicht gemacht, ich selber progge in "C".