@oberallgeier: Ich habe ja auch gar nichts gegen die Nutzung von Goto. Mir ging es darum, daß man auf den Stackpointer achten sollte und bei Sprung aus einer ISR heraus auch noch auf das Global Interrupt Enable Bit. Das könnte kompliziert werden und kann man vermeiden, wenn man Goto vermeidet oder es nur innerhalb des Hauptprogramms verwendet bzw. nur innerhalb von Subroutinen springt.
zB bei sowas wird der Stackpointer immer weiter nach unten gesetzt und es muß irgendwann zum crash kommen.
Code:
dim x as byte
dim y as byte
init:
x = 1
y = 2
gosub check
do
loop
check:
if x = 1 goto init
return
end
Steht anstelle von "goto init" ein "goto 0" wird auch der Stackpointer neu initialisiert.
Ist halt eine Frage der Konstellation und wie Demmy es einsetzt.
Gruß
Searcher
Lesezeichen