CALLTSK 
          IDENT  CALLTSK
          ENTRY  CALLTSK
          SYSCOM B1 
          TITLE  CALLTSK - REQUEST SCHEDULING OF TASK(S). 
*COMMENT  CALLTSK - REQUEST SCHEDULING OF TASK(S).
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          SPACE  4
*****     CALLTSK - REQUEST SCHEDULING OF TASK(S).
* 
*         J. C. BOHNHOFF.    72/07/09.
*         W. E. MARTIN.      78/09/30.
          SPACE  4
*         COMMON TEXTS. 
  
  
*CALL     COMCMAC 
*CALL     COMKMAC 
          SPACE  4,30 
***       ENTRY FORMAT -
* 
*         FORTRAN EXTENDED -
* 
*                 CALL CALLTSK(TASK,CEASE,TASK1,TASK2,...,TASKN)
* 
*         COBOL - 
* 
*                 ENTER CALLTSK USING TASK,CEASE,TASK1,TASK2,...,TASKN. 
* 
*         WHERE - TASK = NAME OF NEXT TASK TO CALL.  THE TASK NAME MAY
*                 BE 1 - 7 CHARACTERS, LEFT JUSTIFIED WITH BLANK OR 
*                 BINARY ZERO FILL. 
* 
*                 (CEASE) .NE. ZERO - IF CALLING TASK IS TO RESUME
*                 EXECUTING AFTER REQUEST IS ISSUED.
* 
*                 (OPTIONAL ARGUMENT - FOR ONE TASK - ZERO ASSUMED) 
*                 TASKI = OPTIONAL LIST OF TASKS TO ENTER INTO THE
*                 SCHEDULING LIST.
* 
*         NOTE -  IF MORE THAN 5 TASKS ARE DETECTED IN A LIST, THE
*                 TASK IS ABORTED WITH A PARAMETER LIST STRUCTURE 
*                 ERROR.
* 
*         USES   A - 1, 5, 6, 7.
*                X - 1, 2, 4, 5, 6, 7.
*                B - 1, 4, 7. 
* 
*         CALLS  ZFN. 
* 
*         MACROS ARGERR, SYSTEM.
  
  
          VFD    42/0LCALLTSK,18/CALLTSK
  
 CAL5     SA1    CALB        RESTORE (A0) 
          SA0    X1+
  
 CALLTSK  SUBR               ENTRY/EXIT 
          SX6    A0          SAVE (A0)
          SA5    X1          READ TASK NAME 
          SA6    CALB 
          SB1    1
          BX1    X5 
          SB4    B0          INITIALIZE *CEASE* FLAG
          RJ     ZFN         ZERO FILL NAME 
          BX6    X1 
          SA2    A1+B1       READ CEASE FLAG ADDRESS
          SA6    CALA 
          ZR     X2,CAL2     IF CEASE FLAG MISSING
          SA5    A2+1        READ FIRST LIST ADDRESS
          SA2    X2          READ CEASE FLAG
          UX2    X2 
          SB4    X2+         (B4) = CEASE FLAG
          ZR     X5,CAL2     IF NO TASK LIST
          SB7    4           SET TASK LIST LIMIT
 CAL1     SA4    X5+         READ TASK NAME 
          SA5    A5+B1       READ NEXT ADDRESS
          BX1    X4          STORE TASK NAME
          RJ     ZFN         ZERO FILL NAME 
          BX6    X1 
          SB7    B7-B1       DECREMENT LIST ENTRY COUNT 
          SA6    A6+1 
          LT     B7,CAL4     IF LIST FULL 
          NZ     X5,CAL1     IF ANOTHER ARGUMENT PRESENT
 CAL2     BX6    X6-X6       TERMINATE LIST 
          SX2    B0 
          ZR     B4,CAL3     IF CEASE REQUESTED 
          SX2    B1 
 CAL3     SA6    A6+B1
          SYSTEM SCT,R,CALA,X2+2  ENTER REQUEST 
          EQ     CAL5        RESTORE (A0) 
  
*         PROCESS ARGUMENT ERROR IF GREATER THAN FIVE PARAMETERS. 
  
 CAL4     SA4    X5          READ NEXT PARAMETER
          ZR     X4,CAL2     IF PROPER LIST TERMINATOR
          MX0    30 
          SA1    CALLTSK     READ ENTRY POINT 
          LX1    30 
          SA2    X1-1        READ TRACE-BACK WORD 
          BX6    -X0*X2 
          SA6    CALA 
          ARGERR A6          EXIT TO EXECUTIVE
  
*         PROGRAM STORAGE.
  
 CALA     BSSZ   6           STORAGE FOR TASK LIST
 CALB     BSSZ   1           STORAGE FOR (A0) 
          SPACE  4
*         COMMON DECK.
  
  
*CALL     COMKZFN 
          SPACE  4
          END 
