hallo mal eine generelle frage zu pics: kann man aus einem unterprogramm mittels "goto" rausgehen? im extremfall würde vielleicht das unterprogramm gar nicht mit "return" beendet werden. geht das ? bspw. so: call unterp nop nop ... unterp goto Ende return ende nop nop end
das geht solange gut, bis der Stack überläuft. Solchen Mist sollte man sich erst gar nicht angewöhnen. Call wird mit return beendet - basta. Es gibt nur wenige sinnvolle Ausnahmen von dieser Regel, allerdings muß man dann den SP manuell manipulieren, geht gar nicht bei allen Prozessoren.
Da man beim PIC nicht an den Stackpointer rankommt und auch kein PUSH/POP existiert, kannst Du die Rückkehradresse nicht ausräumen. MooseC
Das einzige was mir dazu einfällt ist den Stackpionter gewollt überlaufenzulassen - mit 7 weiteren CALLs um auf den Stackeintrag vor dem betreffenden CALL kommen. Ob das geht weiß ich nicht, solche Schweinereien mag ich nicht so gern. .. .. .. call fillstack_1 fillstack_1: call fillstack_2 fillstack_2: call fillstack_3 fillstack_3: call fillstack_4 fillstack_4: call fillstack_5 fillstack_5: call fillstack_6 fillstack_6: call fillstack_7 fillstack_7: goto xyz Für Peter D. ein gefundenes Fressen ;) MooseC
Nee, laß man lieber. Das würde nur im Level 1 des Stackpointers gehen, weil Du ja sonst die anderen noch gültigen Rückkehradressen vernichtest. MooseC
@Moose, "Für Peter D. ein gefundenes Fressen ;)" nein, denn daß ist ja kein Nachteil einer Architektur, wenn sie unsauberes Programmieren nicht unterstützt. Verrücktes Pferd hat da völlig recht: CALL->RETURN und nichts anderes. Wenn man sich erstmal einen vernünftigen Ablaufplan gemacht hat, statt sofort Spaghettikode einzuhacken, wird man auch sehen, daß dafür auch immer die Möglichkeit besteht. Peter
Ja das stimmt, saubere abgeschlossene Module sind oberstes Gebot. Das war auch nicht gemeint, sondern das Fehlen von PUSH/POP oder sonstigen Stackoperationen, die einem die Möglichkeit von lokalen Variablen oder Parameterübergaben ermöglichen. Da hätte ich eigentlich eine Reaktion von Dir erwartet, nach der Auseinandersetzung mit dem "zufriedenen PIC-User" gestern. Hoffentlich fühlt der sich jetzt nicht wieder auf den Schlips getreten. Diese PIC-Sachen arten ja immer in einer art Glaubenskrieg aus... MooseC
habe ich mir leider schon gedacht, dass das nicht möglich ist. wird wohl anders gehen müssen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.