cdc:nos2.source:opl871:itask
Table of Contents
ITASK
Table Of Contents
- [00042] TIMCNT - DEFINE A TIME ORIGINATING TASK.
- [00052] TRAN - DEFINE A TRANSACTION CODE.
- [00081] STRAN - DEFINE A SUBTRANSACTION CODE.
- [00110] TRANT - TRANSACTION CODE TABLE.
- [00227] PROCESS TRANSACTION INPUT.
- [00473] CYB - CYBERLOAN INPUT PROCESSING.
- [00518] BIN - BINARY SEARCH TABLE.
- [00559] CCS - CHECK CHARACTER STRING FOR TRANSACTION UNIT NAME.
- [00600] CTL - CHECK TIMED TRANSACTION UNIT LIST.
Source Code
- ITASK.txt
- IDENT ITASK
- ENTRY ITASK
- LCC OVERLAY(ITASK,0,0)
- SST BEGN,CMBL
- SYSCOM B1
- *COMMENT INITIAL TASK.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ITASK TITLE INITIAL TASK.
- *** INITIAL TASK
- * M. M. CHEN 1977.
- * E. D. REDIG. 80/06/20. *TAF* AUTOMATIC RECOVERY.
- SPACE 4,15
- *** INITIALIZE TASK IS THE INTERFACE BETWEEN THE TRANSACTION
- * EXECUTIVE AND USER-S APPLICATION TASK. *ITASK* PROCESSES
- * ALL TRANSACTION INPUT TO DETERMINE WHICH TRANSACTION UNIT
- * TO CALL TO FURTHER PROCESS THE INPUT, AND STATUS MESSAGES
- * CONCERNING THE STATE OF THE TRANSACTION SYSTEM.
- *
- * BECAUSE TRANSACTION INPUT WILL VARY FROM APPLICATION TO
- * APPLICATION, INITIAL TASK WILL HAVE TO VARY TO ADAPT TO
- * DIFFERENT INPUT FORMATS AND OPERATIONAL CONDITIONS. THIS
- * INITIAL TASK IS PROVIDED TO SERVE AS AN EXAMPLE. EACH
- * INSTALLATION WILL NEED ITS OWN INITIAL TASK TO SERVE ITS OWN
- * SPECIFIC NEEDS.
- MACROS TITLE MACROS
- *CALL COMKTAF
- *CALL COMKFLD
- *CALL COMKIPR
- *CALL COMKMAC
- BEGN BSS 0 SAVE ORIGIN COUNTER
- *CALL COMKCBD
- ORG BEGN RESTORE ORIGIN COUNTER
- NOREF .1,.2
- .1 SET 0
- .2 SET 0
- TIMCNT SPACE 4
- ** TIMCNT - DEFINE A TIME ORIGINATING TASK.
- *
- PURGMAC TIMCNT
- TIMCNT MACRO HH,MM,SS,ADDR
- VFD 18/ADDR,24/0,6/HH,6/MM,6/SS
- ENDM
- TRAN SPACE 4,20
- ** TRAN - DEFINE A TRANSACTION CODE.
- *
- * THE *TRAN* MACRO SETS UP ENTRIES FOR THE TABLE OF
- * TRANSACTION CODES *TRANT*. NOTE - A PARTICULAR
- * TRAN ENTRY SETS UP THE TRANT ENTRY FOR THE PRECEDING
- * DECLARED TRANSACTION CODE. *ITASK* ASSUMES THAT
- * THE *TRANT* TABLE IS SET UP IN DISPLAY ORDER. IT
- * USES THE DISPLAY CODE VALUE OF THE TRANSACTION CODE
- * ENTERED BY THE USER TO LOCATE THE PROPER ENTRY IN
- * *TRANT*.
- *
- * TRAN CODE
- *
- * ENTRY CODE = ONE-CHARACTER TRANSACTION CODE.
- * TRANS = SYMBOL SPECIFYING THE RELATIVE ADDRESS
- * OF SUBTRANSACTION CODES.
- *
- * EXIT ENTRY MADE INTO THE TABLE OF TRANSACTION
- * CODES *TRANT*.
- PURGMAC TRAN
- TRAN MACRO A
- VFD 12/2000B+.1,48/TRANS+.2
- .2 SET .2+.1
- .1 SET 0
- ENDM
- STRAN SPACE 4,15
- ** STRAN - DEFINE A SUBTRANSACTION CODE.
- *
- * THE *STRAN* MACRO MAKES ENTRIES IN THE TABLE OF
- * SUBTRANSACTION CODES *TRANS*. *TRANS* CONTAINS THE
- * SUBTRANSACTION CODE AND THE CORRESPONDING NAME OF
- * THE TRANSACTION UNIT.
- *
- * STRAN CODE,TNAME
- *
- * ENTRY CODE = TWO-CHARACTER SUBTRANSACTION CODE.
- * TNAME = NAME OF THE TRANSACTION UNIT TO BE CALLED.
- *
- * EXIT ENTRY MADE INTO THE TABLE OF SUBTRANSACTION
- * CODES *TRANS*.
- PURGMAC STRAN
- STRAN MACRO CODE,TNAME
- STRAN RMT
- VFD 12/0H_CODE,6/0,42/0L_TNAME
- STRAN RMT
- .1 SET .1+1 ADVANCE SUB TRANSACTION CODE COUNT
- ENDM
- BSS CMBL RESERVE SPACE FOR COMMUNICATION BLOCK
- TABLES TITLE TRANSACTION TABLES.
- TRANT SPACE 4,20
- ** TRANT - TRANSACTION CODE TABLE.
- *
- * EACH GROUP OF ENTRIES RELATING TO THE SAME TRANSACTION
- * CODE IS PLACED IMMEDIATELY FOLLOWING THE *TRANT* ENTRY
- * FOR THAT CODE, ALTHOUGH THE SUBTRANSACTION TABLE IS
- * ASSEMBLED ELSEWHERE. THE FOLLOWING IS AN EXAMPLE OF
- * THE USE OF THE *TRAN* AND *STRAN* MACROS.
- *
- * TRANT BSS 0
- *
- * TRAN A
- *
- * STRAN 02,TNAME1
- *
- * STRAN 03,TNAME2
- *
- * WHERE, *A* IS THE TRANSACTION CODE, *02* AND *03* ARE
- * THE SUBTRANSACTION CODES, AND *TNAME1* AND *TNAME2*
- * ARE THE RESPECTIVE TRANSACTION UNITS TO BE REQUESTED.
- *
- * THE DECLARATION OF A TRANSACTION UNIT AND THE ASSOCIATION
- * OF ATTRIBUTES WITH IT IS ACCOMPLISHED THROUGH *LIBTASK*
- * DIRECTIVES.
- TRANT BSS 0
- LOC 1
- TRAN A
- TRAN B
- TRAN C
- TRAN D
- TRAN E
- STRAN (X.),XTRAN EXECUTE NAMED TASK
- * CAUTION: THE FOLLOWING IS AN EXAMPLE OF A *LIBTASK*
- * DIRECTIVE NEEDED FOR THE TRANSACTION UNIT *XTRAN*.
- *
- * /XTRAN,T1=XTASK
- TRAN F
- TRAN G
- TRAN H
- TRAN I
- TRAN J
- TRAN K
- TRAN L
- TRAN M
- TRAN N
- TRAN O
- TRAN P
- TRAN Q
- TRAN R
- TRAN S
- TRAN T
- TRAN U
- TRAN V
- TRAN W
- TRAN X
- TRAN Y
- TRAN Z
- TRAN 0
- TRAN 1
- TRAN 2
- TRAN 3
- TRAN 4
- TRAN 5
- TRAN 6
- TRAN 7
- TRAN 8
- TRAN 9
- TRAN +
- TRAN -
- TRAN *
- TRAN /
- TRAN )
- TRAN (
- TRAN $
- TRAN =
- TRAN 1R
- TRAN ,
- TRAN .
- TRAN #
- TRAN [
- TRAN ]
- TRAN :
- TRAN "
- TRAN _
- TRAN !
- TRAN &
- TRAN '
- TRAN ?
- TRAN <
- TRAN :
- TRAN @
- TRAN \
- TRAN ^
- TRAN ;
- TRAN
- LOC *O
- STAN SPACE 4,10
- ** SUBTRANSACTION CODE TABLES.
- *
- TRANS BSS 0
- STRAN HERE
- TTOT SPACE 4,10
- ** TABLE OF TIME ORIGINATING TASKS.
- * TIMCNT MACROS WOULD BE PUT IN THIS TABLE.
- TTOT BSS 0
- TTOTL EQU *-TTOT
- ITASK TITLE ITASK
- ITASK SPACE 4,80
- ** ITASK - PROCESS TRANSACTION INPUT.
- *
- * *ITASK* EXTRACTS THE DATA BASE NAME FROM THE COMMUNICATION
- * BLOCK AND SEARCHES A DATA BASE NAME TABLE TO DETERMINE WHAT
- * INPUT PROCESSING IS NECESSARY.
- *
- * *ITASK* MAY BE CALLED WITH SYSTEM ORIGIN TRANSACTIONS,
- * WITH THE TYPE OF CALL IN WORD *TMSW* OF THE COMMUNICATION
- * BLOCK.
- *
- * ENTRY (TRSQ) = 12/ DB,24/ UA,24/ SEQ
- * (TNAM) = 42/ TN,1/S,1/P,1/B,2/ ,1/M,12/WC
- * (TMSW) = MESSAGE IF S .EQ. 0.
- * = RC IF S .EQ. 1.
- *
- * DB DATA BASE FOR TERMINAL
- * UA USER ARGUMENT FIELD FOR TERMINAL
- * SEQ TRANSACTION SEQUENCE NUMBER
- * TN TERMINAL NAME
- *
- * S =1 IF SYSTEM ORIGIN TRANSACTION.
- * P =1 IF PARITY ERROR OCCURRED ON TERMINAL INPUT.
- * B =1 IF TRANSACTION INPUT CAME FROM BATCH.
- * M =1 IF MULTIPLE COMMUNICATION BLOCKS USED.
- * WC MESSAGE LENGTH IN WORDS.
- *
- * RC = 1 IMPLIES SYSTEM TIMED ACTIVATION.
- * = 2 IMPLIES IDLE DOWN (K.IDLE).
- * = 3 IMPLIES RECOVERY HAS TAKEN PLACE.
- * = 4 IMPLIES TERMINAL LOGIN.
- * = 5 IMPLIES SYSTEM MESSAGE.
- * SYSTEM MESSAGE IS HANDLED BY *SYSMSG* TASK
- * NOT BY ITASK.
- * = 6 IMPLIES TERMINAL BREAK FROM NAM.
- * = 7 IMPLIES TERMINAL CONNECTION BROKEN FROM NAM
- * = 8 IMPLIES NETWORK SHUT DOWN -NORMAL.
- * = 9 IMPLIES NAM ABORTED.
- * = 10 IMPLIES NETWORK SHUT DOWN - FORCED.
- * = 11 IMPLIES TERMINAL INACTIVE.
- * = 14 IMPLIES LOGICAL ERROR.
- * = 15 IMPLIES BLOCK NOT DELIVERED.
- * = 16 IMPLIES TERMINAL CHARACTERISTICS.
- * = 17 IMPLIES INPUT TOO LARGE.
- * = 18 IMPLIES TERMINAL STATUS REQUEST.
- *
- * SEE COMMON DECK *COMKSTC* FOR SYBOLS AND THEIR VALUES.
- *
- * FOR CODES 1, 2, 3, 8, 9, AND 10
- * THE COMMUNICATION BLOCK HEADER CONTAINS ZERO FOR TERMINAL
- * NAME AND USER AREA, THE DATA BASE IS *SY* WITH SECURITY
- * CODES OF 7.
- *
- * FOR CODE 4, THE COMMUNICATION BLOCK HEADER IS SET UP WITH
- * THE FOLLOWING INFORMATION FOR THE TERMINAL LOGGED IN.
- *
- * (TMSW+1) = 23/ ,12/BSZ,1/HW/8/DT,8/PW,8/PL
- *
- * BSZ = BLOCK SIZE. (IN CHARACTERS, BITS 25-37)
- * HW = HARD WIRED LINE. (BIT 24)
- * DT = DEVICE TYPE/TERMINAL CLASS. (BIT 16-23)
- * PW = PAGE WIDTH OF TERMINAL. (BIT 8-15)
- * PL = PAGE LENGTH OF TERMINAL. (BIT 0-7)
- *
- * FOR CODES 6, 7, AND 11 - 17
- * THE COMMUNICATION BLOCK IS SET UP WITH NORMAL SEQUENCE
- * NUMBER, TERMINAL NAME OF MALFUNCTION, THE DATA BASE FOR
- * THE TERMINAL, READ AND UPDATE SECURITY OF 7 AND THE NETWORK
- * SUPERVISORY MESSAGE IS FORMED IN (TMSW+1).
- *
- * THE FORMATS OF NETWORK SUPERVISORY MESSAGES ARE GIVEN IN
- * COMMON DECK *COMKNWF*. THE VALUES FOR THE FIELDS ARE GIVEN
- * IN COMMON DECK *COMSNCD*.
- *
- * USES A - 1, 2, 5, 6, 7.
- * B - 3.
- * X - 0, 1, 2, 5, 6, 7.
- *
- * CALLS BIN, CBT, CCS, CTL, CYB.
- *
- * MACROS CALLTRN, CALLTSK, CEASE, FMSG, JOURNL, SCALL, SEND.
- ITASK SB1 1 ENTRY
- SA2 TNAM
- SA5 A2+B1 SYSTEM TRANSACTION CODE
- LX2 59-CBSYS LEFT JUSTIFY SYSTEM ORIGIN
- SA1 A2-B1
- SX0 X5
- NG X2,ITA1 IF SYSTEM ORIGIN TRANSACTION
- BX3 X2
- LX2 59-CBIDS-59+CBSYS
- NG X2,ITA15 IF OPERATOR IDLE DOWN
- LX3 59-CBCDS-59+CBSYS
- NG X3,ITA16 IF CDCS ABORTED
- * IF INPUT FOUND IN TRANSACTION, SUBTRANSACTION TABLES
- * SCHEDULE TRANSACTION UNIT SPECIFIED BY TABLES. OTHERWISE
- * USE INPUT AS TRANSACTION UNIT TO SCHEDULE.
- RJ CYB PROCESS INPUT
- NZ X1,ITA8 IF TRANSACTION UNIT FOUND
- RJ CCS CHECK CHARACTER STRING
- ZR X1,ITA7 IF NO TRANSACTION UNIT TO SCHEDULE
- EQ ITA8 SCHEDULE TRANSACTION UNIT
- * DETERMINE PROCESSOR FOR SYSTEM ORIGIN TRANSACTION.
- ITA1 LX0 -1
- SX6 X0-TITAL
- SB3 X0
- PL X6,ITA14 IF UNKNOWN REASON CODE
- JP B3+TITA JUMP THRU TABLE
- TITA PL X0,ITA14 IF UNKNOWN REASON CODE
- EQ ITA13 IF SYSTEM TIMED ACTIVATION
- PL X0,ITA13 IF IDLE
- EQ ITA13 IF RECOVERY HAS TAKEN PLACE
- PL X0,ITA2 IF TERMINAL LOG IN
- EQ ITA13 IF SYSTEM MESSAGE
- PL X0,ITA3 IF BREAK
- EQ ITA12 IF CONNECTION BROKEN
- PL X0,ITA12 IF NETWORK SHUT DOWN - NORMAL
- EQ ITA12 IF NETWORK ABORT
- PL X0,ITA12 IF NETWORK SHUT DOWN - FORCED
- EQ ITA12 IF TERMINAL INACTIVE
- PL X0,ITA14 IF UNKNOWN REASON CODE
- EQ ITA14 IF UNKNOWN REASON CODE
- PL X0,ITA4 IF TASK LOGICAL ERROR
- EQ ITA5 IF BLOCK NOT DELIVERED
- PL X0,ITA12 IF TERMINAL CHARACTERISTICS
- EQ ITA6 IF INPUT TOO LARGE
- PL X0,ITA12 IF TERMINAL STATUS REQUEST
- EQ ITA14 IF UNKNOWN REASON CODE
- TITAL EQU *-TITA LENGTH OF *ITASK* JUMP TABLE
- * PROCESS TERMINAL LOG IN.
- ITA2 SEND ITAF SEND *READY.*
- SA1 TRSQ FIRST WORD OF COMMUNICATION BLOCK
- RJ CBT CHECK FOR BINARY TERMINAL
- ZR X6,ITA13 IF NOT BINARY TERMINAL
- SA6 ITAE
- SX7 ITAD BINARY INPUT REQUEST MESSAGE
- EQ ITA10 SEND MESSAGE AND CEASE
- * PROCESS TERMINAL BREAK.
- * APPLICATION MAY WISH TO ACTIVE RECOVERY TASK.
- ITA3 SX7 1 *BREAK RECEIVED.* MESSAGE CODE
- EQ ITA18 CALLTSK TO SEND MESSAGE
- * PROCESS TASK LOGICAL ERROR.
- * APPLICATION MAY WISH TO DUMP THE TASK.
- ITA4 SX7 ITAH *TASK LOGICAL ERROR.* MESSAGE
- EQ ITA11 SEND AND JOURNAL MESSAGE THEN CEASE
- * PROCESS BLOCK NOT DELIVERED.
- * APPLICATION MAY WISH TO ACTIVE RECOVERY TASK.
- ITA5 SX7 ITAI *BLOCK LOST.* MESSAGE
- EQ ITA11 SEND AND JOURNAL MESSAGE THEN CEASE
- * PROCESS INPUT TOO LARGE.
- ITA6 SX7 0 *INPUT TOO LARGE.* MESSAGE CODE
- EQ ITA18 CALLTSK TO SEND MESSAGE
- * PROCESS NO TRANSACTION UNIT TO SCHEDULE.
- ITA7 SX7 2 ILLEGAL TRANSACTION UNIT MESSAGE CODE
- EQ ITA18 CALLTSK TO SEND MESSAGE
- * SCHEDULE A TRANSACTION UNIT AND CEASE.
- ITA8 BX7 X1
- SA7 ITAA TRANSACTION UNIT NAME
- RJ CTL CHECK TIME LIST
- NZ X2,ITA9 IF TIME TO SCHEDULE TRANSACTION UNIT
- CALLTRN ITAA SCHEDULE TRANSACTION UNIT AND CEASE
- ITA9 CALLTSK ITAA SCHEDULE THE TIMED TASK
- SA1 CTLA TRANSACTION UNIT TO SCHEDULE
- EQ ITA8 SCHEDULE TRANSACTION UNIT
- ITA10 SEND X7 SEND MESSAGE
- EQ ITA13 CEASE
- ITA11 SEND X7 SEND MESSAGE
- * PROCESS CONNECTION BROKEN, NETWORK ABORT, NETWORK
- * SHUTDOWN, TERMINAL INACTIVE, STOP AND START ON
- * DOWNLINE CONNECTION. JOURNAL MESSAGE.
- ITA12 JOURNL ITAC JOURNAL MESSAGE
- CEASE -1 EXIT WITHOUT UNLOCKING TERMINAL
- ITA13 CEASE EXIT WITHOUT SCHEDULING TRANSACTION UNIT
- * PROCESS UNKNOWN REASON CODE.
- ITA14 SCALL TMSG,(ITAB) SEND MESSAGE TO DAYFILE
- CEASE 2 ABNORMAL CEASE WITH DUMP
- * TAF IS IDLING DOWN, ONLY ACCEPT *EX.LOGT*
- * AS INPUT.
- ITA15 SX7 ITAL *TAF IDLING DOWN.*
- EQ ITA17 SEND MESSAGE AND CEASE
- * CDCS ABORTED, ONLY ACCEPT *EX.LOGT*
- * AS INPUT.
- ITA16 SX7 ITAM *CDCS ABORTED PLEASE WAIT*
- * CHECK FOR *EX.LOGT*.
- ITA17 SA1 ITAN
- IX2 X1-X5 PROCESS INPUT
- MX1 42
- BX2 X1*X2
- NZ X2,ITA10 IF NOT *EX.LOGT*
- RJ CYB
- ITA18 SA7 TMSW
- SA1 ITAO
- BX7 X1
- SA7 ITAA
- CALLTSK ITAA,CEASE
- EQ ITA8 PROCESS *EX.LOGT*
- ITAA BSSZ 2 TRANSACTION UNIT LIST FOR *CALLTRN*
- ITAB DATA C* UNKNOWN REASON CODE.*
- ITAC VFD 6/0,18/0,18/2,18/TRSQ
- ITAD VFD 12/0,18/ITAE,12/0,18/ITAEL SEND CONTROL WORD
- ITAE CON 0
- ITAEL EQU *-ITAE
- ITAF FMSG READY.
- ITAH FMSG (TASK LOGICAL ERROR.)
- ITAI FMSG (BLOCK LOST.)
- ITAL FMSG (TAF IDLING DOWN.)
- ITAM FMSG (CDCS ABORTED PLEASE WAIT.)
- ITAN VFD 60/0LEX.LOGT
- ITAO VFD 60/0LSTASK
- CYB TITLE CYBERLOAN/NIXDORF INPUT PROCESSING.
- CYB SPACE 4,20
- ** CYB - CYBERLOAN INPUT PROCESSING.
- *
- * THE FIRST THREE CHARACTERS OF INPUT ARE USED
- * TO DETERMINE WHICH TRANSACTION UNIT TO CALL.
- *
- * ENTRY (X5) = FIRST WORD OF DATA MESSAGE.
- *
- * EXIT (X1) = TRANSACTION UNIT TO SCHEDULE.
- * = 0, IF NO TRANSACTION UNIT TO SCHEDULE.
- *
- * USES A - 1, 2, 7.
- * B - 2, 3.
- * X - 0, 1, 2, 5, 7.
- *
- * CALLS BIN.
- CYB SUBR ENTRY/EXIT
- * THE FIRST CHARACTER OF INPUT DETERMINES THE
- * SUBTRANSACTION TABLE.
- MX2 -6
- LX5 6
- BX2 -X2*X5 TRANSACTION CODE
- MX0 12
- SA2 X2+TRANT INDEX TO SUB TRANSACTION CODES
- BX7 X0*X5 SUB TRANSACTION CODES
- UX2,B3 X2
- SB2 X2 START OF SUB TRANSACTION CODES
- * CHARACTERS 2 AND 3 DETERMINE THE TRANSACTION UNIT
- * TO SCHEDULE FROM THE SUBTRANSACTION TABLE.
- RJ BIN SEARCH SUB TRANSACTION CODE TABLE
- ZR X3,CYB1 IF ILLEGAL SUB-TRANSACTION CODE
- LX1 18
- MX7 42
- BX1 X7*X1 TRANSACTION UNIT NAME TO SCHEDULE
- EQ CYBX RETURN
- CYB1 SX1 X3 NO TRANSACTION UNIT TO SCHEDULE
- LX5 -6 REPOSITION TERMINAL INPUT
- EQ CYBX RETURN
- BIN SPACE 4,15
- ** BIN - BINARY SEARCH TABLE.
- *
- * ENTRY (X0) = MASK.
- * (X7) = CRITERION.
- * (B2) = START OF TABLE.
- * (B3) = LENGTH OF TABLE.
- *
- * EXIT (X3) = 0 IF MATCH NOT FOUND.
- * (X1) = ENTRY IF MATCH.
- *
- * USES A - 1.
- * B - 2, 3.
- * X - 1, 2, 3, 6.
- BIN SUBR ENTRY/EXIT
- SX3 B3+
- SB3 B2+B3
- SB3 B3-B1
- ZR X3,BINX IF THERE ARE NO ELEMENTS TO SEARCH
- BIN1 SX3 B3-B2
- AX3 1
- SA1 X3+B2 TABLE ENTRY
- NO
- BX2 X0*X1
- IX6 X2-X7
- NG X6,BIN2 IF RAISE LOWER LIMIT
- ZR X6,BIN3 IF FOUND ENTRY
- SB3 A1-1 LOWER UPPER LIMIT
- GE B3,B2,BIN1 IF NOT END OF TABLE
- SX3 0
- EQ BINX RETURN - NO MATCH FOUND
- BIN2 SB2 A1+B1
- LE B2,B3,BIN1 IF NOT END OF TABLE
- BX3 X3-X3
- EQ BINX RETURN - NO MATCH FOUND
- BIN3 SX3 1
- EQ BINX RETURN - MATCH FOUND
- ITASK SPACE 4,15
- ** CCS - CHECK CHARACTER STRING FOR TRANSACTION UNIT NAME.
- *
- * THE FIRST ONE TO SEVEN ALPHANUMERIC CHARACTERS OF INPUT
- * ARE USED TO DETERMINE WHICH TRANSACTION UNIT TO SCHEDULE.
- *
- * ENTRY (X5) = FIRST WORD OF TERMINAL INPUT.
- *
- * EXIT (X1) = TRANSACTION UNIT TO SCHEDULE.
- * = 0, IF NO TRANSACTION UNIT TO SCHEDULE.
- *
- * USES X - 0, 1, 2, 3, 4, 5, 6.
- * B - 2, 3.
- CCS SUBR ENTRY/EXIT
- MX2 48 EIGHT CHARACTER MASK
- SB2 6
- BX6 X6-X6 CLEAR TRANSACTION UNIT NAME
- SX0 1R+
- BX5 X5*X2 MASK OFF CHARACTER STRING
- MX3 -6 ONE CHARACTER MASK
- SB3 60
- LX5 6 POSITION TERMINAL INPUT
- BX1 X6
- CCS1 BX4 -X3*X5 GET A CHARACTER
- ZR X4,CCS2 IF END OF TRANSACTION UNIT NAME
- IX2 X4-X0
- PL X2,CCS3 IF NOT ALPHANUMERIC
- LX6 6
- SB3 B3-B2
- BX6 X6+X4 TRANSFER A CHARACTER
- LX5 6
- EQ CCS1 LOOP FOR NEXT CHARACTER
- CCS2 SB2 12
- EQ B2,B3,CCSX IF TOO MANY CHARACTERS
- CCS3 ZR X6,CCSX IF ZERO LENGTH TRANSACTION UNIT NAME
- LX6 X6,B3 POSITION TRNASACTION UNIT NAME
- BX1 X6
- EQ CCSX RETURN
- CTL SPACE 4,20
- ** CTL - CHECK TIMED TRANSACTION UNIT LIST.
- *
- * THIS ROUTINE CHECKS TIME DEPENDENT TRANSACTION UNITS.
- * IF IT IS TIME TO SCHEDULE A TRANSACTION UNIT THEN (X2) =
- * THE ADDRESS OF THE TRANSACTION UNIT, OTHERWISE (X2) = 0.
- *
- * APPLICATIONS MAY WISH TO GENERATE TIME DEPENDENT TRANS-
- * ACTION TABLES BY MACRO *TIMCNT* AND CHANGE THIS ROUTINE
- * TO SEARCH FOR THE PROPER TRANSACTION UNIT TO SCHEDULE.
- * DEFAULT VALUE FOR *TAF* IS NO TIMED TRANSACTION UNIT.
- *
- * ENTRY NONE.
- *
- * EXIT (X2) = FWA OF TRANSACTION UNIT TO SCHEDULE.
- * (X2) = 0 IF NOT TIME TO SCHEDULE TIMED TRANSACTION.
- *
- * USES X - 2.
- CTL SUBR ENTRY/EXIT
- SX2 0
- EQ CTLX RETURN
- CTLA BSS 1 NEXT TIMED TRANSACTION UNIT TO SCHEDULE
- SPACE 4
- * COMMON DECKS.
- LIST X
- *CALL COMKCBT
- *CALL COMKSTC
- END ITASK
cdc/nos2.source/opl871/itask.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator