Topic : TOS - das Betriebssystem Author : Version : tos.hyp (5. März 2013) Subject : Programmieren/Atari Nodes : 3001 Index Size : 93602 HCP-Version : 5 Compiled on : Atari @charset : atarist @lang : @default : Titel @help : @options : +g -i -s +x +zz -t4 @width : 70 View Ref-File5.14.10 Super TOS Name: »supervisor« - Supervisor-Modus umschalten. Gemdosnummer: 32 (0x0020) Deklaration: int32_t Super ( void *stack ); Beschreibung: Die GEMDOS-Routine Super schaltet zwischen User- und Supervisor-Modus um bzw. fragt den aktuellen Betriebsmodus ab. Die Adresse des Supervisor-Stacks kann beim Umschalten verändert werden. übergibt man für den Parameter stack den Wert 1, so wird der aktuelle Betriebsmodus erfragt. Der Wert 0 schaltet zwischen User und Supervisor-Modus um. Alle anderen Werten werden als neue Adresse für den Supervisor-Stack betrachtet. Im Supervisor-Modus kann auf alle geschützten Speicherstellen zugegriffen werden. Hinweis: Im Hinblick auf zukünftige Betriebssystemversionen sollten Sie den Einsatz der Super-Funktion vermeiden. Diese Funktion verursacht im Zusammenhang mit virtuellem Speicher und unterbrechbaren (und reentranten) Dateisystemen in einem Multitaskingsystem große Probleme. Stellen Sie ggf. Ihren Code so um, daß Sie die BIOS-Funktion Supexec verwenden können. Für MiNT gilt: If you are in SECURELEVEL > 1, you must have root privileges to get into supervisor mode. If you don't have them and call Super, the SIGSYS signal (12) will be raised. Ergebnis: Sollte der Zustand ermittelt werden, erhält man als Resultat 0 für den User- und -1 für den Supervisor- Modus. Ansonsten liefert die Funktion als Ergebnis die Adresse des alten Supervisor-Stacks, sofern in den Supervisor-Modus umgeschaltet wurde. Verfügbar: Alle GEMDOS Versionen Gruppe: Systemfunktionen Querverweis: Binding Supexec