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