erstmal: assembler ist sehr sehr schwierig (kann ich selber nicht wirklich).
Gschwääätz!!! ASM ist echt EASY, das was es so komplex macht, ist das jeder ders nicht kann sagt es wäre schwer!! Nein mal im ernst ASM ist recht einfach, das komplexe daran ist, das man sein Hirn benutzen muss und auch mitdenken muss was man schreibt, aber ASM ist Logisch aufgebaut und auch einfach zu lernen.

Also das du den OCR-Pin veränderst geht nicht, aber du kannst ja einen Interrupt aufrufen, wenn dein Timer 1. Überläuft und 2. wenn der Compare-Wert dem Timerwert entspricht ( Comparemodus ), dabei springst du immer in die SELBE Interruptroutine und tooglest den Portpin, oder du springst in 2 verschiedene und Setzt einmal den Portpin, das andere mal löscht du ihn.

das einfachste wäre aber du nimmst einfach den OCR-Pin, dann musste dich Softwareseitig nur um die Init kümmern, den rest macht dann die Hardware.