/ / / / / / / / / / /COPYRIGHT (C) 1978,1979 BY DIGITAL EQUIPMENT CORPORATION / / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / /VERSION=1 / .TITLE SUBROUTINE TKTASK /THIS SUBROUTINE HANDLES THE REQUEST FOR A LISTING /OF TASK PRIORITIES. THE HANDLER FOR THE USER SPECIFIED /DEVICE IS BROUGHT INTO CORE AT 6200, FIELD ZERO. /THE PARAMETERS FOR SYSTEM TASKS ARE BROUGHT INTO TOVER /AREA, AND ARE MOVED TO TSYS AND TSNR IF USER HAS /SELECTED. A LISTING OF TSYS, TTASK AND TSNR /TOGETHER WITH A TEMPORARY NUMERICAL PRIORITY ASSIGNMENT /IS OUTPUTTED TO THE SELECTED DEVICE, IN PREPARATION FOR /USER PRIORITY REASSIGNMENT .TKTASK USES TMOV. .RSECT TKTASK .ENABLE SIXBIT .ENTRY TK .ENTRY HEAD .ENTRY TMOV .EXTERNAL TABLE1,TTYPTR,PACK6,PACPTR,DEV3,DEV4,LOGNUM,PAC6 .EXTERNAL DEV6,DEV5,IFLAG,SYSNR,ETTY,TEMP1,MOV,PAGEFG,EXITFG .EXTERNAL CQUES,GETREC,ANSPTR,RECLOC,ENTR2,EREC .EXTERNAL OVRPTR,UNPACK,PCKPTR,PACK8 .EXTERNAL MOVE,SYSPTR,TSNR,ESNR,STASKS .EXTERNAL SNRPTR,QUES,TEMP6,DIRLOC .EXTERNAL TEMP7,DIRFLG,TEMP10,CFLAG .EXTERNAL DEVNO2,ENTR3,ESYS,TSKPTR,UNP1,PCK,TTTY .EXTERNAL TFLAG,DIRLOC,SYSST,TSYS,TTASK,PAC1,GETR .NOLIST LN,ME XLIST .INCLUDE MACLIB.MA XLIST .MCALL USERV,HANDL,CLEAR FIELD 1 TK, 0 CLA TAD (CIF CDF) RDF CDF .FLD DCA TK60 TAD TK DCA TKR /SETUP FOR RETURN CLA TAD TKK7 DCA TK45 /INITIALIZE CALL TO MOVE PARAMETER /TO POINT TO TSYS DCA TKK6 /RESET LOW PRIORITY TASK FLAG CDF TABLE1 TAD TKK7 DCA SYSPTR /SET POINTER AT BEGINNING OF TSYS TAD TKK60 DCA SNRPTR /SET POINTER AT BEGINNING OF TSNR /TO ALLOW FOR POSSIBLE RERUN DCA STASKS /ZERO TASK TALLY TAD DIRLOC DCA 16 TAD I 16 CDF .FLD DCA TK61 /GET NEXT RECORD NUMBER AND SAVE FOR /RETURN AFTER TASK RECORD OVERLAY TK1, CDF TABLE1 ISZ IFLAG /FOOL SYSTEM THAT CONDITIONAL IN /PROGRESS TAD TKK1 DCA DEV5 TAD TKK2 DCA DEV6 /INITIALIZE CALL TO LPT FOR POSSIBLE /SECOND PASS TAD SYSST /GET BEGINNING OF SYSTEM TASKS /IN PARAMETER FILES (RECORD NUMBER) DCA CQUES /STORE FOR SEARCH CDF .FLD CIF GETR JMS I TK42 /GO GET DIRECTORY FOR SYSTEM /TASK PARAMETERS IN SCRIPT MA TK5, CDF TABLE1 CLA TAD QUES AND (777 TAD ANSPTR DCA 16 /(PARAMETER-1000)=CORRESPONDING /QUESTION TAD I 16 SNA JMP TK6 /CHECK IF USER HAS SPECIFIED THIS /TASK NONZERO=YES, 0=NO DCA TKK67 /SAVE ANSWER FOR FURTHER PROCESSING ISZ STASKS /INCREMENT SYSTEM TASK TALLY TAD RECLOC TAD OVRPTR DCA TAG1 /POINT TO PARAMETER IN TOVER CDF .FLD CIF UNP1 JMS I TK7 /UNPACK THE TASK TAG1, 0 UNPACK-1 /PASSED PARAMETERS 6 /NUMBER OS/8 FORMATTED WORDS TO UNPACK CDF TABLE1 TAD PCKPTR DCA 17 /POINT TO UNPACK TABLE TK11, TAD I 17 TAD (-275 SNA CLA JMP TK10 /GET CHARACTER AND SEARCH FOR EQUAL SIGN JMP TK11 TK10, STA TAD 17 DCA 17 /BACKUP TO EQUAL SIGN TAD (215 DCA I 17 /REPLACE EQUAL SIGN WITH CARRIAGE RETURN TAD TTYPTR DCA 16 /POINT TO TTY BUFFER TAD PCKPTR DCA 17 /POINT TO UNPACK TABLE JMP TKK13 /GO TO NEXT PAGE OF CODE TK3, PAC1 /LINK TO PACK6 ROUTINE TK42, GETR TK7, UNP1 TKK7,TSYS-1 /POINTER TO HIGH PRIORITY TASK ENTRY TABLE TKK60,TSNR-1 /POINTER TO LOW PRIORITY TASK ENTRY TABLE TKK1, TEXT "LP" TKK2, TEXT "T" TKK67,0 /STORAGE FOR CURRENT TASK ANSWER IN TANS PAGE TKK13, TAD I 17 SNA JMP TKK12 DCA I 16 JMP TKK13 /MOVE UNPACKED DATA TO TTY BUFFER TKK12, CDF .FLD CIF PCK JMS I TK13 /REPACK TASK IN OS/8 FORMAT TTTY-1 UNPACK-1 /MOVE FROM TTY TO UNPACK TABLE CDF .FLD CIF MOV JMS I TKK14 UNPACK-1 TK45, TSYS-1 /MOVE INTO SYSTEM TASK TABLE STA TAD TKK67 /GET CURRENT ANSWER IN TANS SNA /ANSWER =1? JMP TK6 /YES, NORMAL TASK TAD (-1 SNA /ANSWER =2? JMP NSOUR /YES, TASK HAS NO SOURCE TAD (-1 SNA CLA /ANSWER =3? JMP NOTSK /YES,TASK HAS NO PRIORITY ASSIGNMENT TK6, CDF TABLE1 TAD SYSNR CIA TAD QUES IAC SNA CLA JMP TK16 /YES, HIGH PRIORITY SYSTEM TASKS /DONE TKK5, CLA TAD QUES TAD (-1776 SNA CLA /RECORD 1776 FIXED FOR NTASKS) /AND DELIMITS SYSTEM TASKS JMP TK20 /GO TO EXIT CODE TKK10, DCA IFLAG /NO, KNOCK DOWN IFLAG CDF .FLD CIF GETR JMS I TK4 /GO GET NEXT PARAMETER INTO CORE. CLA JMP TK5 /CONTINUE LOOP. TK16, TAD TKK6 SZA CLA JMP TKK5 ISZ TKK6 /SET LOW PRIORITY TASK FLAG IF NOT ALREADY /AND BYPASS INITIALIZATION IF SET TAD TK45 DCA SYSPTR CDF TABLE1 /SAVE POINTER TO LAST ENTRY+1 IN TSYS TAD SNRPTR DCA TK45 /POINT TO LOW PRIORITY SYSTEM /TASK TABLE. JMP TKK5 /CONTINUE PROCESSING LOW PRIORITY TASKS TK20, TAD TK45 DCA SNRPTR /SAVE POINTER TO LAST ENTRY+1 IN TSNR /GET USER SPECIFIED HANDLER IN CORE USERV ,12,DEV5,DEV6,ZERO,ERR141,TK57,DEVNO2 USERV DEVNO2,1,LOCA,,,ERR142,ENTR3, JMP AHD1 NSOUR, IAC JMP TSK1 /SET BIT 11,NO SOURCE FLAG NOTSK, TAD (2 JMP TSK1 /SET BIT 10, NO TASK PRIORITY ASSIGNMENT TSK1, DCA TSK2 STA TAD TK45 DCA 15 /POINT TO CURRENT TASK DELIMITER IN TASK TABLES CDF TABLE1 TAD TSK2 DCA I 15 /SET PROPER BIT. JMP TK6 /CONTINUE TSK2,0 /TEM. STORAGE FOR TASK FLAG TK4, GETR TK13, PCK TKK6,0 TKK14,MOV /LINK TO MOVE ROUTINE TK57,0 LOCA,6201 /LOCATION FOR LOADING UP TO 2-PAGE LPT HANDLER ZERO,0 PAGE AHD1, CLA CDF TABLE1 /LASTLY OUTPUT THE LOW-PRIORITY /SYSTEM TASKS. DCA EXITFG TAD TKX1 DCA DIRLOC STA DCA LOGNUM TAD TK61 /GET NEXT SYSTEM RECORD NUMBER AND INITIATE /SEARCH FOR IT DCA CQUES TAD (200 DCA PAGEFG ISZ IFLAG /RESTORE TREC PARAMETERS AND SET CFLAG TK60, 0 JMP I TKR TKX1,EREC+11 TK27,0 TKR, 0 COLAN, 272 TK21, 0 /CONTROL WORD FOR HANDLER CALL TK36, 0 /ENTRY LOCATION FOR HANDLER TK35, TTTY TK46, DCA SNRPTR /CALCULATED INSTRUCTION FOR LOW /PRIORITY TASK MOVING POINTER UPDATE TK61,0 /SAVE AREA FOR NEXT RECORD NUMBER ERR142, ERR141, ERR143, CLA CDF TABLE1 TAD DEV3 DCA DEV5 TAD DEV4 DCA DEV6 TAD ENTR2 DCA ENTR3 JMP AHD1 /IF LPT DOES NOT WORK USE TTY FOR /TASK LISTING OUTPUT