Wenn dein Rad wackelt, kann es ja sein, dass es einmal kurz "zurückwackelt" nicht? Und daher können ja so grosse Zahlen kommen. Wenn dein Rad aber in 3 Sek 360° macht, und du 512 Positionen hast, bekommst du jede 3/512=0.005856s also 58.56ms einen Interrupt. Das ist für ein uC mit 16MHz eine Ewigkeit. In dieser Zeit macht es fast 100.000 Zyklen, also sprich 100.000 Befehle werden verarbeitet.... Ich verstehe also ehrlich gesagt nicht, was du mit dem Oszi gemacht hast. Ausserdem wir von den Flanken meistens nur eine verarbeitet (steigend oder fallend), aber es stimmt auch so nicht.
Assemby hat selbstverständlich mehr Zeilen, das ist ja fast reine Computercode. Leider hab ich jetzt keine Zeit, dir das durchzuschauen.