Zitat Zitat von Archi
Wenn man das Status-Register beim Taskwechsel noch mitspeichert, könnte man den Taskwechsel doch auch noch zusätzlich von einem Timer vornehmen lassen, oder?
Ja, stimmt! Aber an soetwas habe ich mich noch nicht rangetraut, weil man sich damit eine menge Probleme einhandelt. Es ja oft Programmteile, die nicht unterbrochen werden dürfen ("kritische Abschnitte"), wenn z.B. mehrere Prozesse einen gleichen Speicherbereich nutzen (zur Kommunikation), so geht das schief,wenn mittendrin der Nächste drannkommt.

Aber auf jeden fall eine Idee, die man früher oder später umsetzten könnte!

Zitat Zitat von linux_80
es bräuchte sowas wie eine removeTask function, die anfangs so handelt wie die switchTask, dann aber den alten Task entsorgt, entweder alle nachfolgenden Tasks in der Liste nach unten schieben, oder den letzten Task in der Liste an diesen Platz, dann stimmt halt die Reihenfolge nicht mehr (falls das wichtig sein sollte)
Ich denke es ist nicht schlimm, wenn sich die Reihenfolge ändert. Wenn man soetwas wie Prioritäten hätte, würde sich dei Reihenfolge eh ständig ändern.

Zitat Zitat von linux_80
Afrufen entweder definiert am ende des Tasks,
oder falls man es hinbekommt, am stack den zeiger hinterlegen (in addTask), dann per return ... irgendwie ...
Man könnte das ijmp am ende von addTaskASM in ein icall umändern. Dann würde man nach einem "return" im Task wieder am ende von addTaskASM landen. Dort könnte man dann was zum löschen hinschreiben.

Mal sehen, am Wochenende finde ich bsetimmt nochmal Zeit, um daran weiterzumachen. Langfristig hatte ich mir überlegt, könnte man eine relativ mächtige Biliothek schreiben, nicht nur mit Multitasking, sondern z.B. auch eine fertige Odemitrieauswertung, Motoregelung, etc. kann. Da ist natürlich die Frage, ob an soetwas Interesse besteht, oder ob die Asuro-Bastler lieber ihren Asuro ganz alleine Programmieren wollen (was ich voll und ganz verstehen könnte!)

PS: Hat eigentlich jemand die Tasks mal unter Windows kompiliert? Ich benutze nur Linux, und frage mich, ob dei dem Windows-Compiler vielleicht unterschiede gibt....