Der ASM Code sieht schon sehr gut aus. Mehr als vielleicht 1 Zyklus beim Übertrag der Addition sehe ich da nicht mehr als Optimierungsmöglichkeit.

Die Längere Laufzeit könnte aber durch die extra Zuweisungen vor dem ASM Teil kommen, also das
Gl_addrhi = High(gl_y)

Da sollte sich doch eine Lösung finden lassen ohne die extra Zuweisung.