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