von 3298 » Fr 20. Aug 2010, 11:17
Der Go-Fehler liegt am Interpreter. Auf dem CFX (für den das Programm ja ursprünglich war) sind beliebig lange Sprünge mit Goto~Lbl erlaubt, auf dem AFX (und, soweit ich weiß, auch auf dem 9860) gibt es eine Höchstweite. Bei wieviel Bytes die liegt, habe ich noch nicht ausprobiert, aber ich würde sie auf ungefähr 128 schätzen. Man könnte den Sprung in mehrere kleine auseinandernehmen (an mehreren Stellen so etwas wie Goto X:Lbl Y:Goto Z:Lbl X einbauen - Lbl Y wird angesprungen, dann wird zu Lbl Z weitergesprungen, und Goto X und Lbl X sorgen dafür, dass das Programm sonst einfach darüber hinwegläuft, sodass man diesen Codeschnipsel überall einbauen kann) oder auf Goto und Lbl ganz verzichten und durch If- Bedingungen oder For-, While- und Do- Schleifen ersetzen. Aber wenn das Ergebnis kommt und auch stimmt, kann man auch mit einem Go-Fehler leben. (Wahrscheinlich geht dieses Goto~Lbl sowieso an den Anfang zurück, also könnte man es auch einfach rauswerfen, um den Go-Fehler loszuwerden.)