Hallo,
Zitat Zitat von HaWe Beitrag anzeigen
Und wer wirklich Multitasking braucht, sollte ARMs verwenden, die von vornherein MT unterstützen (Arduino Due mit Due Scheduler, NXT mit nxtOSEK, EV3 mit POSIX pthread, oder RasPi, BBB...), warum sich hier die Arbeit machen, selber Speicher und Register zu sichern und wieder zurückzuschreiben?
Irgendeiner muss das MT mal schreiben, sonst kannst DU es dir nicht fertig besorgen.

Zudem benötigt man ASM nur für die Funktion welche die Register bei einem Taskwechsel manipuliert.
Das heisst alle Register auf den aktuellen Stack retten, den Stackpointer sichern, Stackpointer des neuen Tasks laden und gerettete Register vom neuen Stack laden.
Passt alles auf eine A4-Seite.

Zudem sprach ich nicht von einer bestimmten CPU, sondern nur über Umstände welche zwingend zu ASM-Routinen führen.

MfG Peter(TOO)