16 22FL #LIS K0JOBDATA>K0COMMAND>K0HLS>K0ALLGEO>K0GREATGEO 14 22_= #SEG JOBDATA [V E PHIPPS 10 23DW 8H JOBDATA 15 23NN ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 17 23YG [ THIS SEGMENT IMPLEMENTS THE FOLLOWING COMMANDS:- 9 24D6 [ JOBDATA 9 24XQ [ JOBTIME 9 25CB [ URGENCY 4 25FK ...[ 19 25HS ...[ THIS SEGMENT HAS BEEN SPLIT INTO 'JOBDATA' & 'JOBDATAB' 18 25L3 ...[ AND LOGICALLY SHOULD BE REGARDED AS ONE PIECE OF CODE. 18 25N= ...[ THE LAYOUT OF 'JOBDATAB' FOLLOWS THE LAYOUT OF THIS 10 25QF ...[ SEGEMENT: OCT 1981. 4 25SN ...[ 13 25X2 [ THE JD COMMAND TAKES THE FORMAT:- 11 26BL [ JD INTEGER,DATA 14 26W= [ JD NAME DATA,NAME(DATA),.... 4 27*W [ 19 27TG [ RESTAB CONTAINS A TABLE OF POSSIBLE INTEGERS/NAMES THAT 17 28*6 [ IDENTIFY THE SCHEDULING DATA. EACH ENTRY IN RESTAB 9 28SQ [ IS OF THE FORM: 9 29#B [ WORDS 0-2 = NAME 14 29S2 [ WORD 3 BIT 0 = 0 IF VAR. RESOURCE 16 2=?L [ =1 IF FIXED RESOURCE 15 2=R= [ BITS1-11 = ITEM/FACILITY NUMBER 16 2?=W [ BIT 12 = 1 IF BINARY (COUNT SWITCH) 13 2?QG [ BITS 13-14 UNDEFINED 16 2#=6 [ BITS 15-23 = FORMAT ROUTINE NUMBER 4 2#PQ [ 4 2*9B # 8 2*P2 # ENTRY POINT 4 2B8L # 16 2BN= SEGENTRY K1JOBDATA,XK1 [JOBDATA COMMAND 16 2C7W SEGENTRY K2JOBDATA,XK2 [JOBTIME COMMAND 17 2CMG SEGENTRY K3JOBDATA,XK3 [JOBDATA PARAMETER 16 2D76 SEGENTRY K4JOBDATA,XK4 [URGENCY COMMAND 21 2DLQ SEGENTRY K5JOBDATA,RFIN [RETURN FROM XTRA UR/JT CHECKS IN JD 21 2F6B SEGENTRY K9JOBDATA,XK9 [ERROR RETURN FROM UR/JT CHECKS IN JD 18 2FB8 ... SEGENTRY K10JOBDATA,XK10 [RETURN FROM JOBDATAB,1 2 2FL2 17 2FTS ... BITDEFS AWORK4,0,TMAXSIZE [ B7270 CORRECTION 15 2G5L BITDEFS AWORK4,2,TFORMAT,STARTCOM,SIGNEED 16 2GK= BITDEFS AWORK4,5,SINGLE,TMINUS,TPLUS,PMINUS 10 2H4W [ BASIC RESOURCE TABLE 16 2HJG JDTABLES RESTAB,RESNEEDSPTR,TAB,TABCT,STARTPTR 8 2J46 YER1 +ERNOCMD 9 2JHQ YER2 +JPARNULL 8 2K3B YER3 +JPARMIS 8 2KH2 YER4 +APFERR 8 2L2L YER5 +ERMCH 9 2LG= YER7 +ERUNPAIR 17 2L_W YER8 +JDOVERFLOW [TOO MUCH SCHED, DATA 9 2M_6 YER10 +JDNOCOUNT 8 2N8Y ...YER11 +JMAXPAR 8 2NDQ XDA 4HDA 7 2NYB TOOSMALL 3 8 2PD2 TOOBIG 502 8 2PXL MASK #7777 8 2RBG ZHR 4HHRS 9 2RW6 MIN 4HMINS 9 2S*Q SEC 4HSECS 8 2STB SPACE #20 8 2T*2 XPLUS #33 8 2TSL XMINUS #35 6 2T_S ...#UNS G400 8 2W72 ...XASTRA #32 14 2W#= [ ROUTINES TO PICK UP NEXT COMMAND PARAMETER 10 2WRW [ AND LEAVE IN A CPB/CUNI . 15 2X?G [ X0 - ANUM, X7 = LINK, X3-> CPB/CUNI ON EXIT 11 2XR6 [ SPARA & RSPARAPASS KEEP SPACES 11 2Y=Q [ PARA & RPARAPASS REMOVE SPACES 8 2YQB SPARA ORX 5 GSIGN 6 2_=2 RSPARAPASS 10 2_PL JBS RPS7,2,SINGLE 8 329= SBX 5 FX1 7 32NW SPARAPASS 8 338G BRN RPS5 8 33N6 PARA ORX 5 GSIGN 6 347Q RPARAPASS 17 34MB JBS PARA1,2,SINGLE [J IF PARM IN CUNI 8 3572 SBX 5 FX1 7 35LL PARAPASS 8 366= RPS5 ADX 5 FX1 10 36KW RPS7 MHUNT 3,CPB,CUNI 10 375G STO 3 ACOMMUNE3(2) 8 37K6 RPS8 LDX 1 FX1 9 384Q LDX 0 ANUM(3) 7 38JB LDXC 5 5 8 3942 BCS RPS9 16 39HL BZE 0 PNULL [J IF NULL PARAM 17 3=3= BNG 0 PABS [J IF PARAM ABSENT 7 3=GW RPS9 EXIT 5 0 11 3?2G [ REMOVE SPACES FROM CPB/CUNI 10 3?G6 PARA1 MHUNT 3,CPB,CUNI 10 3?_Q STO 3 ACOMMUNE3(2) 7 3#FB LDX 1 3 8 3#_2 STO 5 GEN0 9 3*DL LDX 5 ANUM(3) 8 3*Y= ANDN 5 #7777 15 3BCW BZE 5 PARA7 [J IF NO DATA 9 3BXG PARA2 LDCH 0 APARA(1) 18 3CC6 DCH 0 APARA(3) [KEEP NON-SPACE CHARS. 8 3CWQ SBN 0 #20 15 3DBB BZE 0 PARA6 [J IF SPACE 7 3DW2 PARA5 BCHX 3 / 7 3F*L PARA6 BCHX 1 / 8 3FT= BCT 5 PARA2 7 3G#W SLC 1 2 7 3GSG SLC 3 2 7 3H#6 SBX 1 3 16 3HRQ LDX 3 ACOMMUNE3(2) [PTR->CPB/CUNI 17 3J?B SBS 1 ANUM(3) [ADJUST CHAR. COUNT 8 3JR2 PARA7 LDX 5 GEN0 8 3K=L BRN RPS8 4 3KQ= # 17 3L9W [ CHECK FOR + AND - ,THEN SCAN TO NEXT NON-SPACE CHAR. 10 3LPG [ ON ENTRY, X3->CPB/CUNI. 16 3M96 [ ON EXIT,APARA(3)->NEXT NON-SIGNED,NON-SPACE CHAR. 13 3MNQ [ X7 = COUNT OF REMAINING CHARS. 5 3N8B SIGNTEST 9 3NN2 LDX 7 ANUM(3) 8 3P7L ANDN 7 #7777 9 3PM= LDCH 0 APARA(3) 7 3Q6W ADN 6 2 11 3QLG BXE 0 XMINUS(1),SNTT5 7 3R66 SBN 6 1 11 3RKQ BXE 0 XPLUS(1),SNTT5 7 3S5B SBN 6 1 9 3SK2 SNTT3 LDCH 0 APARA(3) 11 3T4L BXU 0 SPACE(1),SNTT9 7 3TJ= SNTT5 BCHX 3 / 8 3W3W BCT 7 SNTT3 7 3WHG SNTT9 EXIT 6 0 4 3X36 [ 15 3XGQ [ REFORMAT CPB/CUNI BY REMOVING THE INITIAL DATA 14 3Y2B [ON ENTRY,X7=COUNT OF CHARS IN NEW CPB/CUNI 11 3YG2 [ ACOMMUNE3-> CPB/CUNI 16 3Y_L [ APARA(3)->START OF DATA IN NEW CPB/CUNI 6 3_F= RESETCUNI 10 3_YW LDX 1 ACOMMUNE3(2) 9 42DG LDX 0 HALFTOP 9 42Y6 ANDS 0 ANUM(1) 9 43CQ ORS 7 ANUM(1) 8 43XB ADN 3 APARA 9 44C2 LDN 4 APARA(1) 8 44WL CHARMOVE 3,7 7 45B= NGX 1 7 7 45TW ANDN 1 3 10 46*G BZE 1 RESETCUNI9 8 46T6 LDN 3 ACES 19 47#Q MVCH 3 0(1) [SPACEFILL END OF LAST WORD 6 47SB RESETCUNI9 8 48#2 LDX 1 FX1 7 48RL EXIT 6 0 13 49?= [ ROUTINE TO PUT DATA INTO ADATA/CSTORE 6 49QW [ X6 IS LINK 9 4==G [ ON EXIT, X3 HOLDS DATA 16 4=Q6 STOREX [DATA HELD IN X7 7 4?9Q LDX 3 7 19 4?PB LDN 7 1 [COUNT OF WORD TO BE STORED 18 4#92 ORX 6 GSIGN [STOREX ENTRY INDICATOR 18 4#NL STOREN [DATA HELD IN CPB/CUNI 14 4*8= [ IF ENTERED AT STOREN, DATA IS IN CPB/CUNI 13 4*MW [ X7 HOLDS COUNT OF WORDS TO BE STORED 8 4B7G SBX 6 FX1 18 4BM6 CALL 1 SCSTORE [SET X2 ->ADATA/CSTORE 19 4C6Q BPZ 2 STO2 [J IF ADATA/CSTORE EXISTA 11 4CLB SETNCORE 10,2,ADATA,CSTORE 8 4D62 LDN 0 A1+2 17 4DKL STO 0 A1(2) [PTR->NEXT FREE WORD 9 4F5= STO 0 A1+1(2) 10 4FJW STO2 LDX 0 ALOGLEN(2) 8 4G4G ADN 0 A1 8 4GJ6 SBX 0 A1(2) 7 4H3Q SBX 0 7 19 4HHB BPZ 0 STO4 [J IF ENOUGH ROOM IN CSTORE 10 4J32 LDX 4 ALOGLEN(2) 7 4JGL SBX 4 0 18 4K2= ALTLENG 2,4,SCSTORE [INCREASE LEGTH OF CSTORE 18 4KFW CALL 1 SCSTORE [SET X2->ADATA/CSTORE 19 4K_G STO4 ADS 7 A1(2) [UPDATE PTR TO NEXT FREE WORD 8 4LF6 ADX 2 A1(2) 7 4LYQ SBX 2 7 18 4MDB STO 3 0(2) [STO DATA IN STOREX CASE 7 4MY2 LDXC 6 6 16 4NCL BCS STO9 [J IF STOREX CASE 10 4NX= MHUNT 1,CPB,CUNI 9 4PBW LDN 1 APARA(1) 7 4PWG SMO 7 19 4QB6 MOVE 1 0 [STORE DATA IN STOREN CASE 8 4QTQ STO9 ADX 6 FX1 8 4R*B LDX 1 FX1 8 4RT2 LDX 2 FX2 7 4S#L EXIT 6 0 5 4SS= SCSTORE 11 4T?W MHUNTW 2,ADATA,CSTORE 7 4TRG EXIT 1 0 4 5Q5Q # 6 5QKB RTIMEUNIT 17 5R52 # THIS S/R CONVERTS N UNITS OF TIME INTO BINARY SECS. 4 5RJL # 8 5S4= SBX 6 FX1 17 5SHW CALL 5 PARA [GET NEXT PARAMETER 7 5T3G RTU0 PARSPLIT 5 6 5T7C ...#UNS G400 4 5T?# ...#SKI 4 5TC9 ...( 9 5TH6 #SKI K6JOBDATA>99-99 10 5W2Q TRACE 5,PARSPLIT 4 5W=J ...) 8 5WGB BNG 5 RTU1 15 5X22 BNZ 5 RTU5 [J IF ERROR 15 5XFL RTU1 LDX 7 ACOMMUNE1(2) [BINARY NO. 20 5X_= BZE 5 RTU3 [J IF NO LETTERS -SECS. ASSUMED 9 5YDW TXU 5 SEC(1) 15 5YYG BCC RTU3 [J IF SECS 9 5_D6 TXU 5 MIN(1) 15 5_XQ BCC RTU4 [J IF MINS 9 62CB TXU 5 ZHR(1) 17 62X2 BCS RTU5 [J IF NOT RECOGNISED 8 63BL LDN 0 3600 15 63W= RTU2 MPY 7 0 [RESULT IN X0 7 64*W LDX 7 0 8 64TG RTU3 ADX 6 FX1 7 65*6 EXIT 6 0 8 65SQ RTU4 LDN 0 60 8 66#B BRN RTU2 8 66S2 RTU5 ADX 6 FX1 7 67?L EXIT 6 1 8 67R= [ JOBDATA PARAMETER 4 68=W XK3 6 68B2 ...#UNS G400 4 68F6 ...( 9 68J= ... STOZ AWORK3(2) 4 68MB ...) 9 68QG STOZ AWORK4(2) 18 69=6 MBS 2,STARTCOM,TFORMAT [SET JOBDATA PARAM. IND. 8 69PQ BRN NEXT 8 6=9B [ URGENCY COMMAND 4 6=P2 XK4 6 6=S6 ...#UNS G400 4 6=X= ...( 9 6?2B ... STOZ AWORK3(2) 4 6?5G ...) 9 6?8L STOZ AWORK4(2) 7 6?N= LDN 6 0 8 6#7W BRN ONE6 8 6#MG [ JOBDATA COMMAND 4 6*76 XK1 6 6*9P ...#UNS G400 4 6*## ...( 9 6*BX ... STOZ AWORK3(2) 4 6*FG ...XK6 4 6*J5 ...) 9 6*LQ STOZ AWORK4(2) 8 6B6B BRN NEXT 18 6BL2 [ THE FOLLOWING ENTRY POINT IS FOR THE JOBTIME COMMAND 4 6C5L XK2 6 6C89 ...#UNS G400 4 6C=S ...( 9 6C*C ... STOZ AWORK3(2) 3 6CD2 ... 4 6CGK ...) 4 6CK= # 9 6D4W STOZ AWORK4(2) 16 6DJG LDN 6 1 [JT FACILITY NO. 16 6F46 BRN ONE6 [J INTO JD CODE 4 6FHQ # 4 6FRJ ...XK10 9 6G3B NEXT0 MFREE CPB,CUNI 14 6GH2 NEXT MBC 2,SINGLE,TMINUS,TPLUS,PMINUS 17 6GQS ... BC 2,TMAXSIZE [ B7270 CORRECTION 17 6H2L CALL 5 SPARA [GET NEXT PARAMETER 17 6HG= BZE 0 NEXT0 [J IF NULL PARAMETER 18 6H_W BNG 0 RFIN9 [J IF END OF PARAMETERS 8 6JFG SRL 0 12 18 6J_6 BNZ 0 TWO [J IF NOT ALPHA-NUMERIC 16 6KDQ JBS TWO,2,TFORMAT [J IF 2ND FORMAT 15 6KYB [ THE FOLLOWING CODE CHECKS FOR THE FACILITY NO. 18 6LD2 LDX 4 ANUM(3) [TOTAL NO. OF CHARACTERS 7 6LXL STOZ 5 7 6MC= STOZ 6 8 6MWW LDN 7 #20 17 6MY4 ...[ CORRECTION TO ALLOW FACILITY 11 AS FORMAT 1,AS WELL 16 6M_= ...[ AS FORMAT 2 16 6N2D ...[ AWORK1 MUST BE SET TO LENGTH OF 1ST PARAMETER 16 6N3L ...[ EXCLUDING LEADING SPACES FOR JDTWO VALIDATION 17 6N4S ...[ NOTE IT ALLOWS FOR 'NN' & 'N N' BEING ACCEPTED 9 6N62 ...ONE1 LDCH 0 APARA(3) 16 6N78 ... BXU 0 7,ONE1A [J IF NOT SPACE 7 6N8B ... BCHX 3 / 8 6N9J ... BCT 4 ONE1 8 6N=Q ... BRN PZER 19 6N?Y ...ONE1A STO 4 AWORK1(2) [KEEP COUNT IN CASE FAC'TY 11 13 6N*6 ...[ END OF B.0873 CORRECTION INSERTION 9 6NBG ONE2 LDCH 0 APARA(3) 16 6NW6 BXE 0 7,ONE4 [IGNORE SPACES 9 6P*Q CDB 5 APARA(3) 16 6PTB BCS TWO [J IF ALPHA-CHAR 7 6Q*2 ONE4 BCHX 3 / 8 6QSL BCT 4 ONE2 8 6R#= BZE 6 PZER 14 6RRW [ JOBTIME AND URGENCY JOIN COMMON CODE HERE 10 6S?G ONE6 LDX 0 RESTAB+3(1) 15 6SR6 BZE 0 VARNEEDS [END OF TABLE 17 6T=Q BPZ 0 ONE7 [J IF VARIABLE ITEM 8 6TQB ERX 0 GSIGN 15 6W=2 SRL 0 12 [FACILITY NO. 16 6WPL BXE 0 6,ONE9 [J IF ENTRY FOUND 7 6X9= ONE7 ADN 1 4 8 6XNW BRN ONE6 8 6Y8G ONE9 SBX 1 FX1 9 6YN6 DSA 1 AWORK4(2) 19 6_7Q BRN PAN [ANALYSE REST OF PARAMETERS 14 6_MB [ LOOK FOR SCHEDULING IDENTIFIER IN TABLE 15 7272 TWO LDX 3 ACOMMUNE3(2) [X3->CPB CUNI 6 727L ...#UNS G400 4 728= ...( 14 728W ... TESTHKN TWO11 [NOT IN HOOK 10 729G ... LDX 0 JPARNUM(3) 7 72=6 ... SBN 0 1 15 72=Q ... BNZ 0 TWO11 [NOT 1ST PARAM 9 72?B ... LDCH 0 APARA(3) 9 72#2 ... TXU 0 XASTRA(1) 15 72#L ... BCS TWO11 [NOT NEW FORMAT 7 72*= ... FREECORE 3 8 72*W ... DOWN SETJD,2 9 72BG ... BRN XBREAK 17 72C6 ... BRN XJBD1 [ERROR REPORTING 17 72CQ ...XK5 [ SUCCESSFUL RETURN FOR SETJD 10 72DB ... LDX 4 ACOMMUNE1(2) 9 72F2 ... STO 4 AWORK3(2) 8 72FL ... BRN XK6 10 72G= ...XJBD1 LDX 7 ACOMMUNE1(2) 20 72GW ... LDX 6 ACOMMUNE2(2) [-TER ANALYSIS OF LAST PARAM 8 72HG ... BRN XJBD2 4 72J6 ...) 6 72JQ ...#UNS G400 5 72KB ...TWO11 16 72LL CALL 6 SIGNTEST [TEST FOR + OR - 16 736= BRN TWO1 [J IF NOT SIGNED 15 73KW BRN TWO05 [J IF + FOUND 14 745G BS 2,TMINUS [- FOUND 8 74K6 BRN TWO1 9 754Q TWO05 BS 2,TPLUS 17 75JB TWO1 STO 7 ACOMMUNE4(2) [NO. OF CHS IN PARAM 17 7642 STO 3 ACOMMUNE5(2) [PTR.TO SCHED.IDENT. 8 76HL LDN 5 #20 8 773= LDX 6 FX1 7 77GW TWO2 LDX 1 6 19 782G LDX 3 ACOMMUNE5(2) [RESET PTR.TO SCHED.IDENT. 18 78G6 LDN 7 12 [COUNT OF CHS.IN IDENT. 9 78_Q LDCH 0 RESTAB(1) 15 79FB BZE 0 NEEDS [END OF TABLE 17 79_2 BXE 0 5,TWO4 [J IF NO IDENTIFIER 9 7=DL TWO3 LDCH 0 APARA(3) 9 7=Y= LDCH 4 RESTAB(1) 18 7?CW BXE 4 5,TWO5 [J IF END OF IDENTIFIER 18 7?XG BXU 4 0,TWO4 [J IF WRONG IDENTIFIER 7 7#C6 BCHX 1 / 7 7#WQ BCHX 3 / 8 7*BB BCT 7 TWO3 8 7*W2 BRN TWO5 7 7B*L TWO4 ADN 6 4 8 7BT= BRN TWO2 10 7C#W TWO5 ADX 7 ACOMMUNE4(2) 19 7CSG SBN 7 12 [NO. OF CHARS. AFTER IDENT. 16 7D#6 BNG 7 TWO4 [J IF NO MATCH 8 7DRQ LDX 1 FX1 16 7F?B BZE 7 PNULL [J IF NO JOBDATA 8 7FR2 SBX 6 FX1 17 7G=L DSA 6 AWORK4(2) [SAVE PTR TO ENTRY 9 7GQ= BS 2,TFORMAT 17 7H9W [ SCHED. IDENTIFIER FOUND SO SET UP PARAMETER BLOCKS FOR 11 7HPG [ CONVERSION ROUTINES. THAT IS:- 18 7J96 [ IF PARAMETER OF THE FORM X(Y),LEAVE Y IN MULTI-PARAM BLOCK 17 7JNQ [ IF PARAMETER OF THE FORM XY, LEAVE Y IN CPB/CUNI BLOCK 5 7K8B SPLIT 9 7KN2 LDCH 0 APARA(3) 16 7L7L BXU 0 5,SPT1 [J IF NOT SPACE 7 7LM= BCHX 3 / 8 7M6W BCT 7 SPLIT 15 7MLG BRN PNULL [J IF JOBDATA 10 7MSQ ...SPT1 LDX 6 ACOMMUNE4(2) 18 7N32 ... SBX 6 7 [BKEEP COUNT FOR TSN CASE 9 7N9= ... STO 6 AWORK1(2) 8 7NCG ... SBN 0 #30 17 7NKQ BZE 0 SPT2 [J IF X(Y) PARAMETER 18 7P5B CALL 6 RESETCUNI [REMOVE IDENT. FROM CUNI 19 7PK2 BS 2,SINGLE [INDICATE DATA IN CPB/CUNI 8 7Q4L BRN PAN 10 7QJ= SPT2 LDX 1 ACOMMUNE3(2) 17 7R3W LDEX 5 ATYPE(1) [PARAM NO. IN CMULTI 17 7RHG PARALYSE ,,5 [SPLIT INTO X AND (Y) 10 7S36 TESTREP2 UNPAIR,PTERR 11 7S*G ... TESTREP2 TOOMANY,TOOMANY 7 7SGQ PARANUMB 4 7 7T2B SBN 4 2 18 7TG2 BNZ 4 PTERR [J IF NOT 2 PARAMETERS 7 7T_L LDN 5 2 18 7WF= PARALYSE #34,,5 [REMOVE BRACKETS FROM (Y) 9 7WYW MFREE CPB,CUNI 18 7XDG BRN PAN [J TO ANALYSIS ROUTINE 10 7XY6 [ CHECK FOR VARIABLE NEEDS 5 7YCQ VARNEEDS 7 7YXB SBN 6 5 19 7_C2 BNZ 6 PZER [J IF UNKNOWN FACILITY NO. 9 7_WL MFREE CPB,CUNI 9 82B= BRN NEEDS2 16 82TW [ NEEDS ASSUMED IF SCHED. IDENTIFIER NOT RECOGNISED 9 83*G NEEDS BS 2,SINGLE 5 83T6 NEEDS2 9 84#Q BS 2,TFORMAT 10 84SB LDN 7 RESNEEDSPTR 18 85#2 DSA 7 AWORK4(2) [PTR.-> ENTRY IN RESTAB 11 85RL MBC 2,TMINUS,TPLUS 8 86?= [ PARAMETER ANALYSIS 20 86QW PAN LDX 7 AWORK4(2) [STORE INDS.IN 1ST. WD OF REC. 18 87=G CALL 6 STOREX [STORE 1ST WORD OF RECORD 9 87Q6 LDEX 6 AWORK4(2) 7 889Q SMO 6 10 88PB LDX 7 RESTAB+3(1) 10 88R5 ...[ B7270 CORRECTION 06.08.82 13 88SS ...[ SET TMAXSIZE IF MAXSIZE DATA SUPPLIED 7 88WH ... LDXC 6 7 8 88Y= ... SRL 6 12 7 88__ ... SBN 6 6 9 893N ... BNZ 6 XMAXSIZE 10 895C ... BS 2,TMAXSIZE 5 8976 ...XMAXSIZE 19 8992 CALL 6 STOREX [2ND WORD (INCL. WORD COUNT) 9 89NL LDEX 6 AWORK4(2) 11 8=8= JBC PAN7,2,TFORMAT 7 8=MW LDX 0 6 9 8?7G SBN 0 STARTPTR 16 8?M6 BZE 0 STARTTIME [J IF STARTTIME 7 8#6Q PAN7 SMO 6 10 8#LB LDEX 3 RESTAB+3(1) 7 8*62 SMO 3 9 8*KL BRN SWITCH 5 8B5= SWITCH 15 8BJW BRN PURGENCY [FACILITY 0 15 8C4G BRN PCHARLOAD [FACILITY 1 15 8CJ6 ... BRN PJOBDATAB [FACILITY 2 15 8D3Q ... BRN PJOBDATAB [FACILITY 3 15 8DHB ... BRN PJOBDATAB [FACILITY 4 15 8F32 BRN PTIMEUNIT [FACILITY 5 15 8FGL BRN PCHARDIG1 [FACILITY 6 15 8G2= BRN PCHARDIG2 [FACILITY 7 15 8GFW ... BRN PJOBDATAB [FACILITY 8 15 8G_G ... BRN PJOBDATAB [FACILITY 9 15 8HF6 BRN PCHARDIG3 [FACILITY 10 15 8HYQ ... BRN PJOBDATAB [FACILITY 11 15 8JDB ... BRN PJOBDATAB [FACILITY 12 16 8JY2 ...[ THE ROUTINE TO PROCESS FACILITY 'N' IS CONTAINED 19 8KCL ...[ IN JOBDATAB. RETURN IS TO 'NEXT0', ACROSS TO JOBWRITE,1 OR UP 6 8KX= ...PJOBDATAB 10 8LBW ... ACROSS JOBDATAB,1 6 8MTQ PTIMEUNIT 9 8N*B CALL 6 RTIMEUNIT 19 8NT2 BRN TESTJBLK [J TO EXTRA CHECKS FOR UR/JT 20 8P#L PTUER BNG 5 XCOM [J IF LETTER STRING UNRECOGNISED 15 8PS= SBN 5 1 [J IF NULL 15 8Q?W BZE 5 PNULL [J IF NULL 7 8QRG SBN 5 1 17 8R?6 BZE 5 PABS [J IF PARAM MISSING 8 8RQQ ... BRN XEROP 6 8S=B PCHARDIG1 6 8SQ2 PCHARDIG2 6 8T9L PCHARDIG3 4 8TP= PCH1 21 8W8W CALL 5 PARA [SET UP CPB/CUNI BLOCK FOR PARSPLIT. 8 8WNG BNG 0 RFIN 8 8X86 BZE 0 PCH8 18 8XMQ BC 2,PMINUS [CLEAR PER. MINUS IND. 16 8Y7B CALL 6 SIGNTEST [TEST FOR + AND - 16 8YM2 BRN PCH16 [J IF NOT SIGNED 15 8_6L BRN PCH15 [J IF + FOUND 14 8_L= BS 2,PMINUS [- FOUND 9 925W PCH15 BS 2,TPLUS 17 92KG PCH16 BZE 7 PNULL [J IF NO MORE CHARS. 9 9356 CALL 6 RESETCUNI 21 93JQ PCH2 PARSPLIT 7 [X7 WILL CONTAIN LETTER STRING OR REP 21 944B BNG 7 PCH3 [IF X7 HOLDS A LETTER STRING,LEFT-JUS 21 94J2 [IT WILL HAVE B0 SET,SINCE 'A'=#41 4 953L [ 4 95H= [ 9 962W [-----ERROR REPORTING-- 16 96GG # PARSPLIT : REPLY WORD = 0 MEANS NO LETTER STRING 15 9726 # = 1 MEANS NULL PARAMETER 16 97FQ # = 2 MEANS PARAMETER ABSENT 16 97_B # = 3 MEANS ANY OTHER ERROR 21 98F2 # OTHERWISE %A WILL CONTAIN THE LETTER STRING LEFT-JUSTIFIED AND SPACE 8 98YL BZE 7 XCOM 16 99D= SBN 7 1 [REPLY WORD > 0 17 99XW BZE 7 PCH8 [J IF NULL PARAMETER 16 9=CG SBN 7 1 [REPLY WORD > 1 8 9=X6 BZE 7 PABS 20 9?BQ BRN XEROP [PARAM ERROR MESSAGE ALREADY O/P 4 9?WB PCH3 8 9#B2 LDX 1 FX1 21 9#TL LDN 3 TAB(1) [SET X3 TO POINT TO START OF TABLE 8 9**= LDN 0 TABCT 9 9*SW #SKI K6JOBDATA>999-999 9 9B#G TRACE 0,TABLE = 4 9BS6 PCH4 21 9C?Q TXU 7 0(3) [CHECK PARAM LETTERS AGAINST TABLE 14 9CRB BCC PCH6 [MATCHED? 20 9D?2 ADN 3 1 [MOVE PTR TO NEXT LETTER STRING 8 9DQL BCT 0 PCH4 9 9F== TXU 7 XDA(1) 8 9FPW BCS XCOM 18 9G9G LDN 0 TABCT-6 [X0 LOOKING AS THO TYPE 6 4 9GP6 PCH6 9 9H8Q #SKI K6JOBDATA>999-999 10 9HNB TRACE 5,HURDLE 1 17 9J82 NGX 7 0 [NEGATE COUNT INTO X7 14 9JML ADN 7 TABCT [X7=T# 16 9K7= CALL 6 STOREX [STORE PER. UNIT 15 9KLW LDX 7 ACOMMUNE1(2) [PER. COUNT 11 9L6G JBC PCH64,2,TMINUS 7 9LL6 NGX 7 7 10 9M5Q PCH64 JBC PCH7,2,PMINUS 7 9MKB NGX 7 7 15 9N52 PCH7 CALL 6 STOREX [STORE PER. COUNT 18 9NJL JMBAC PCH8,2,TMINUS,TPLUS,PMINUS [J IF NOT SIGNED 18 9QH6 BS 2,SIGNEED [SET NEEDS SIGNED IND. 10 9R2Q [ UPDATE COUNT OF PARAMETERS 18 9RGB PCH8 JBS RFIN,2,SINGLE [J IF XY TYPE PARAMETER 9 9S22 MFREE CPB,CUNI 8 9SFL BRN PCH1 5 =88L PURGENCY 15 =8N= PCHARLOAD [FACILITY 0 20 =97W [PUTS UP-TO-4-LETTER-2ND-PARAMETER INTO X7,RIGHT JUSTIFIED. 16 =9MG [CALLS PARAPASS,USES ALL ACCS.,EXITS TO PLOAD 4 ==76 # 16 ==LQ LDX 4 3 [ZERO IF URGENCY 9 =?6B CALL 5 RPARAPASS 16 =?L2 LDX 6 0 [TYPE/NO INTO X6 8 =#5L ANDN 6 #7777 16 =#K= LDN 2 5 [MAX = 4 LETTERS. 7 =*4W TXL 6 2 17 =*JG BCC PTERR [J IF TOO MANY CHARS. 19 =B46 STOZ 7 [CLEAR'RESULT'ACCUMULATOR. 14 =BHQ ... LDN 2 #72 ['Z'=#72 14 =C3B LDN 5 #41 ['A'=#41 5 =CH2 RLOOP 21 =D2L SLL 7 6 [MOVE UP TO MAKE ROOM FOR NEXT LETTER 18 =DG= LDCH 0 APARA(3) [EXAMINE NEXT CHARACTER 17 =D_W BXL 0 5,PTERR [J IF NOT ALPHABETIC 18 =FFG ... BXL 2 0,PTERR [ [J IF NOT ALPHABETIC/ 16 =F_6 ORX 7 0 [OK,SO COPY IT IN 19 =GDQ BCHX 3 / [ADVANCE CHARACTER POINTER 8 =GYB BCT 6 RLOOP 16 =HD2 BNZ 4 PLOAD [J IF NOT URGENCY 18 =HXL ... BXL 2 7,PTERR [J IF NOT VALID URGENCY 11 =JC= [ START OF 'CSSLIMUR' CODE 13 =JWW [ RESTORE TIME MENDABLE CODE TO..... 10 =KBG [ RESTRICT URGENCY RANGE 14 =KW6 [ %A=IP MANAGERN (RANGE OF URGENCIES) 10 =L*Q SEGENTRY K40JOBDATA 14 =LTB LDX 2 7 [LDX 0 %A 7 =M*2 TXU 2 7 8 =MSL BCC RUR9 7 =N#= LDX 2 7 8 =NRW SBN 2 #40 8 =P?G SLL 0 0(2) 8 =PR6 BNG 0 RUR9 9 =Q=Q LDX 7 RUR1(1) 9 =QQB BRN RERROR 10 =R=2 SEGENTRY K41JOBDATA 8 =RPL RUR1 +0 4 =S9= RUR9 10 =SNW [ END OF 'CSSLIMUR' CODE 4 =T8G [ 16 =TN6 [ EXTRA CHECKS REQUIRED FOR UR/JT IN STARTED JOBS 9 =W7Q [ UR/JT IS HELD IN X7 5 =WMB TESTJBLK 9 =X72 CALL 6 STOREX 7 =XLL LDX 7 3 9 =YKW LDEX 6 AWORK4(2) 7 =_5G SMO 6 10 =_K6 LDXC 0 RESTAB+3(1) 18 ?24Q BCC RFIN [J IF NOT FIXED RESOURCE 8 ?2JB SRL 0 12 7 ?342 SBN 0 1 17 ?3HL BPZ 0 TJB4 [J IF NOT URGENCY JD 18 ?3NS ... JBC TJB3,2,STARTCOM [J IF NOT JOB START COMMAND 11 ?3W2 ... MHUNTW 3,JWELL,COPYSYS 7 ?438 ... JLADJUST 3 16 ?48B ... JBC RFIN,3,JLBLN [J IF NOT MLOGIN 19 ?4*J ...TJB3 ACROSS JDWRITE,2 [FURTHER CHECKS ON URGENCY 17 ?4GW TJB4 BNZ 0 RFIN [J IF NOT JOBTIME JD 17 ?4QN ... JBS RFIN,2,STARTCOM [J IF NOT STARTED JOB 19 ?52G ACROSS JDWRITE,3 [FURTHER CHECKS ON JOBTIME 6 ?5G6 ...STARTTIME 13 ?5_Q ...# THIS A SPECIAL ROUTINE TO EMULATE THE 8 ?6FB ...# STARTTIME MACRO 10 ?6_2 ... ACROSS JOBDATAB,3 21 #J6# ...PLOAD CALL 6 STOREX [STORE TIME ALSO USED BY JD NO ROUTI 4 #JB6 RFIN 11 #JTQ MHUNT 3,ADATA,CSTORE 8 #K*B LDX 0 A1(3) 9 #KT2 SBX 0 A1+1(3) 17 #L#L BXGE 0 TOOSMALL(1),RFIN6 [J IF SOME JD DATA 19 #LS= SBS 0 A1(3) [RESET PTR->NEXT FREE WORD 8 #M?W BRN RFIN8 11 #MRG RFIN6 BXGE 0 TOOBIG(1),TOOMUCH 9 #N?6 SMO A1+1(3) 16 #NQQ DSA 0 0(3) [STORE WORD COUNT 9 #P=B SMO A1+1(3) 8 #PQ2 LDX 0 1(3) 18 #Q9L BPZ 0 RFIN7 [J IF NOT FIXED RESOURCE 8 #QP= ANDN 0 #4000 16 #R8W BNZ 0 RFIN7 [J IF COUNT SET 17 #RNG JMBS NOCOUNT,2,TMINUS,TPLUS [ERROR IF SIGNED 8 #S86 RFIN7 LDX 0 A1(3) 16 #SMQ STO 0 A1+1(3) [PTR->NEXT RECORD 7 #T7B RFIN8 LDN 7 0 17 #TM2 JBC RFIN81,2,STARTCOM [J IF JOBDATA PARAM 7 #W6L LDN 7 3 5 #WL= RFIN81 7 #X5W PARAFREE 7 17 #XKG JBS NEXT0,2,TFORMAT [J IF 2ND JD FORMAT 5 #Y56 RFIN9 11 #YJQ HUNTW 3,ADATA,CSTORE 19 #_4B ... BNG 3 THENDNEAR [J IF NO JOB DATA SUPPLIED 9 #_J2 MFREE CPB,CUNI 18 *23L ACROSS JDWRITE,1 [UPDATE ENTRY IN JOBLIST 4 *2H= # 9 *32W # ERROR REPORTING 4 *3GG # 4 *426 # 8 *4FQ PZER LDX 1 FX1 9 *4_B LDX 7 YER1(1) 9 *5F2 BRN RERROR 9 *5YL PNULL LDX 7 YER2(1) 9 *6D= BRN RERROR 9 *6XW PABS LDX 7 YER3(1) 9 *7CG BRN RERROR 8 *7PX ...PTERR LDX 1 FX1 9 *84# ... LDX 7 YER4(1) 9 *8BQ BRN RERROR 9 *8WB XCOM LDX 7 YER5(1) 9 *9B2 BRN RERROR 5 *9TL TOOMUCH 9 *=*= LDX 7 YER8(1) 9 *=F7 ... BRN RERROR 5 *=K4 ...TOOMANY 9 *=N_ ... LDX 7 YER11(1) 9 *=SW BRN RERROR 5 *#?Q NOCOUNT 9 *#RB LDX 7 YER10(1) 9 **?2 BRN RERROR 5 **QL XEROP 17 *B== LDX 7 GSIGN [ERROR ALREADY O/P 10 *BPW [ ERROR ENTRY FROM JDWRITE 4 *C9G XK9 5 *CP6 RERROR 10 *D8Q ... ACROSS JOBDATAB,2 6 *DNB ...THENDNEAR 8 *F82 ... LDX 2 FX2 11 *FML ... JBC THEND,2,STARTCOM 9 *G7= ... MFREE CPB,CUNI 7 *GLW ... UPPLUS 1 6 *H6G ...THEND ENDCOM 5 *K52 XBREAK 7 *KJL COMBRKIN 6 *KM9 ...#UNS G400 4 *KPS ...( 5 *KSC ...XJBD2 8 *KX2 ... COMERRX 7,6 4 *K_K ...) 4 *L4= #END 6 ____ ...177653300006