MODULE SimpleTask;


FROM  Exec         IMPORT  Forbid, Permit, TaskPtr;

FROM  ExecSupport  IMPORT  CreateTask;

FROM  InOut        IMPORT  WriteInt;

FROM  SYSTEM       IMPORT  ADR;


CONST  TaskName = "Beispieltask";


VAR  Task                : TaskPtr;     (*  Zeiger auf den neuen Task  *)
     a                   : INTEGER;     
            

(*  Compileroption: Stack nicht abbauen.  *)          
(* $P- *)     
PROCEDURE NewTask ();

(*  Dies ist der Code des neuen Tasks.  *)   
 
BEGIN

 a := 999;            
    
END NewTask;
 
(*  Dies ist das Hauptprogramm das den neuen Task erzuegt.  *) 
 
BEGIN
 
 a := 0;              
 (*  Den neuen Task erzeugen  *)
 Task  := CreateTask(ADR(TaskName),5,ADR(NewTask),30000);
 WHILE a < 1000 DO    
  a := a + 1;
  WriteInt(a,5)
 END; 
       
END SimpleTask.
  
