Hallo,

leider steige ich durch Deinen Assembler-Quelltext nicht vollständig durch, aber was den Timer betrifft würde ich nach möglichkeit einen Auto-Reload-Modus wählen.
Das Highbyte des Timers beinhaltet den Nachladewert (125 in Deinem Fall) und das Lobbyte ist der eigentliche Timer. Nach Überlauf läd der sich dann selbst mit dem Wert aus dem Highbyte.

Ciao
Patrick