Also, mit 8051 und dem dazugehörigen Bascom kenne ich mich so gar nicht aus. Und mit Gosubs nur wenig, habe ich bisher praktisch nie benutzt. Ich habe mich aber auch bei weitem noch nicht durch alles durchgearbeitet, was Bascom zu bieten hat. Es gibt also noch viel zu entdecken

Ich glaube aber, dass bei jedem Gosub neue Werte in den Stack geschrieben werden (man möge mich bitte verbessern, senn dem nicht so ist). Und das könnte Dein Problem sein, weil Du mit der Zeile

Code:
If A <> 0 Then Gosub Ausgabe
aus der Gosub-Routine in die gleiche Routine springst, und dadurch ständig neue Daten in den Stack dazukommen, ohne dass die vorhergehenden abgearbeitet und gelöscht werden. Das soll irgendwann zum Stack-Overflow führen - und dann bleibt das Ding stehen.

Probier´s doch mal mit ´nem GOTO...