JOBDATA867

(George Source)

Macros used: ACROSS, ALTLENG, BC, BITDEFS, BS, BXE, BXGE, BXL, BXU, CHARMOVE, COMBRKIN, COMERRX, DOWN, ENDCOM, FREECORE, HUNTW, JBC, JBS, JDTABLES, JLADJUST, JMBAC, JMBS, MASK, MBC, MBS, MFREE, MHUNT, MHUNTW, PARAFREE, PARALYSE, PARANUMB, PARAPASS, PARSPLIT, SEGENTRY, SETNCORE, STOREN, STOREX, TESTHKN, TESTREP2, TRACE, UPPLUS

JOBDATA867.txt
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