LISTFILE867

(George Source)

Macros used: ACROSS, BCONTEXT, BRUSEN, BS, CHNUMCOD, CHNUMCOO, COMERR, COMPACT, DOWN, ENDCOM, FI, FJOCA, FNORM, FREECORE, GEOERR, IF, JBC, JBS, LBW, LF, LFKEY, MHUNT, MHUNTW, NAMETOP, PARABEG, PARANUMB, PARUNACC, PERCON, PHOTO, SEG, SEGENTRY, SETUPCORE, SINMAC3, SPARANOX, SPARAPAS, SPRIVJUMP, SPRIVTEST, TESTMOVE, TESTREP, TESTREP2, TESTRPN2, THEN, VFREEW, XTRALFPAR, ZERRORX, ZERRORY

LISTFILE867.txt
22FL    #OPT           K0LISTFILE=0 
22^=    #LIS           K0LISTFILE>K0ALLGEO  
233N ... SEG LISTFILE,,,,G253,G502,G503 
2366 ...[   
238J ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23?2 ...[     THIS EXCLUDES CODE UNDER #SKI G253
23*D ...[                    AND UNDER #SKI G502
23CW ...[                    AND UNDER #SKI G503
23G# ...[   
23JQ ...#OPT G155 = 0   
23M8 ...#OPT G253 = 0   
23PL ...#SKI G253&1 
23S4 ...# WITH UGUG EDIT M253 (LISTFILE IN NO-USER CONTEXT) 
23WG ...#OPT G254 = 0   
23YY ...#OPT G502 = 0   
243B ...#SKI G502&1 
245S ...# WITH UGUG EDIT M502 (SHIFT AND GRAPHICS OUTPUT ON MOP)
248= ...#OPT G503 = 0   
24=N ...#SKI G503&1 
24*6 ...# WITH UGUG EDIT M503 (PAGING AND FRAMING ON MOP LISTFILES) 
24D6          SEGENTRY K1LISTFILE,POINT1
24MY ...      SEGENTRY K2LISTFILE,POINT2
24XQ    [   
25CB    [THIS SEGMENT IS ENTERED BY THE COMMAND PROCESSOR. IT UNPACKS ALL THE   
25X2    [PARAMETERS AND CHECKS ALL BUT THE FILENAME,PROPERTY OR SETUP.  
26BL    [A GOUT/INFO BLOCK IS SET UP TO CONTAIN THE RESULTS OF THES ANALYSIS.   
26W=    [   
27*W    [***********************************************************************
27TG    [DATA AREA  
28*6    [   
28SQ    [LIST OF PARAMETER CHARACTER STRINGS AND CORRESPONDING MODIFIERS
29#B    [!! ** NONE OF THESE WORDS MUST BE ALTERED, REMOVED, SHUFFLED ETC   
29S2    PARSTR  
2=?L          +6                           [ NUMBER PARAMETER   
2=R=          8HNUMBER  
2?=W          +NUMBER   
2?QG    QMONF   
2#=6          +7                           [ MONFILE PARAMETER  
2#PQ          8HMONFILE                    [ NOTE-THIS IS ASSUMED TO BE NOT THE 
2*9B          +PMONF                       [ TABLE ENTRY USED   
2*P2          +2
2B8L          4HTO  
2BN=          +0
2C7W          +STO  
2CMG          +4                           [ FROM PARAMETER 
2D76          4HFROM
2DLQ    TM  
2F6B          #7700000                     [ PERIPHERAL TYPE MASK   
2FL2          +SFROM
2G5L          +5
2GK=          8HLINES                      [ LINES PARAMETER
2H4W          +SLINES   
2HJG          +4                           [ PAGE RESTART PARAMETER 
2J46          4HPAGE
2JHQ    OUTMK   
2K3B          #26   
2KH2          +RESTPAGE 
2L2L          +3                           [ ALL RESTART PARAMETER  
2LG=          4HALL 
2L^W    SPECMK  
2MFG          #05                          [ SPECIAL MASK   
2M^6          +RESTALL  
2NDQ          +7                           [ SPECIAL PARAMETER  
2NYB          8HSPECIAL 
2PD2          +SPECIAL  
2W#=          +1                           [ PERIPHERAL PARAMETER MUST  
2WRW          4H*                          [  ALWAYS BE AT BOTTOM OF TABLE  
2X?G    NUMBMK  
2XR6          #25                          [ NUMBER MASK
2Y=Q          +PARPER   
2YQB    [   
2^=2    [ADDRESS OF MONFILE PARAMETER,WHICH IS ONLY RELEVANT FOR
2^PL    [INTERNALLY-ISSUED COMMANDS 
329=    [   
32NW    XQMONF  
338G          +QMONF-PARSTR 
33*N ...#SKI G502&1 
33GW ...XQALL          +SPECMK-2-PARSTR 
39HL    [   
3=3=    [***********************************************************************
3=GW    [   
3?2G    SCHNUMCOD   
3?G6    [   
3?^Q    [***********************************************************************
3#FB    [   
3#^2    [   
3*DL    [ CONVERT PARAMETER TO BINARY   
3*Y=    [ REPLY CHNUMERR IF NOT VALID NUMBER
3BCW    [ IF VALID NUMBER CHECK 0 < NUMBER < 2^21   
3BXG    [   
3CC6          SBX   6  FX1  
3CWQ          CHNUMCOD 1
3DBB          MHUNT    3,GOUT,INFO  
3DW2          ADX   6  FX1  
3F*L          TESTREP2 CHNUMERR,(6) 
3FT=          LDX   4  ACOMMUNE1(2) 
3G54          BNG   4  NEGNO               [ J IF NEGATIVE  
3G#W          LDX   0  4
3GSG          SLC   0  3
3H#6          ANDN  0  7
3HRQ          BNZ   0  SOUTOFRANGE         [ J IF > 2^21
3J?B          EXIT  6  0
3JR2    [   
3K=L    [   
3KQ=    [***********************************************************************
3L9W    [CENTRAL BODY OF SEGMENT
3LPG    [***********************************************************************
3LS5 ...#SKI  G253&1$1  
3LWN ...(   
3L^? ...POINT2  
3M3W ...      GEOERR   1,M253   
3M6F ...)   
3M96    POINT1  
3M=7 ...#SKI G253&1 
3M?8 ...(   
3M#9 ...      BCONTEXT USER,2,USER  
3M*= ...      ACROSS   LIST,1              [ TREAT LF IN NO-USER CONTEXT
3MB? ...USER                               [  AS EQUIVALENT TO LIST COMMAND 
3MC# ...      STOZ     AWORK2(2)           [ INDICATES STANDARD LF, NOT 'LIST'  
3MD* ...      STOZ     AWORK4(2)           [ NO PARAMETERS ACCESSED YET 
3MFB ...#   
3MGC ...#     ENTRY FROM 'LIST' - AWORK2 = 1, PARAM 1 PROCESSED 
3MHD ...#     AWORK4 = 1 (OR 2 IF 'PASSWORD' PROCESSED) 
3MJF ...POINT2  
3MKG ...)   
3MLH ...#SKI G502&1 
3MMJ ...      STOZ     AWORK3(2)           [ NO PERIPHERAL PARAMETER
3MNQ    [   
3N8B    [THE GOUT INFO BLOCK IS SET UP AND THE RELEVENT LOCATIONS ARE   
3NN2    [ZEROISED OR FILLED WITH APPROPRIATE INFORMATION.   
3P7L    [   
3QLG    [SECURITY INTERFACE MACRO   
3R66          SINMAC3  LF   
3S5B          PARANUMB 7
3S=J ...#SKI G253&1 
3SCQ ...      SBX   7  AWORK4(2)           [ NUMBER ALREADY DONE
3SK2          BZE   7  NOFN                [ BRANCH IF NO PARAMETERS
3T4L          SBN   7  1                   [ STORE NUMBER OF PARAMETERS 
3TJ=          STO   7  AWORK4(2)           [ MINUS 1 IN WORK AREA   
3W3W          STOZ     AWORK1(2)           [ CHECK FOR TO & LINES   
3WHG          SPARAPAS  
3X36          COMPACT                      [ REMOVE REDUNDANT SPACES.   
3XGQ          MHUNT    3,CPB,CUNI          [ FIND FILENAME PARAMETER
3Y2B          NAMETOP  3,FILE,FNAME        [ AND NAME ITS BLOCK 
3YG2          LDX   4  ANUM(3)             [ CALCULATE HOW MANY WORDS IT TAKES  
3Y^L          ANDN  4  #7777               [ UP 
3^F=          BZE   4  NOFN 
3^YW          ADN   4  GHEAD-A1*4+3        [ GET TOTAL LENGTH NEEDED
42DG          SRL   4  2
42Y6          SETUPCORE 4,2,GOUT,INFO      [ SETUP GOUT INFO BLOCK  
437Y          STO   4  A1(2)               [ RECORD HEADER  
43CQ          LDN   5  A1+1(2)  
43XB          LDN   6  A1+2(2)  
44C2          STOZ     A1+1(2)  
44WL          MOVE  5  GHEAD-A1-1   
45B=          MHUNT    3,FILE,FNAME        [ RELOCATE FILE NAME BLOCK   
45TW          LDX   5  ANUM(3)             [ GET NO OF CHARS IN FILE NAME   
46*G          ANDN  5  #7777
46T6          STO   5  GSUSE(2)            [ STORE WITH USER NAME   
47#Q          SBN   4  GHEAD-A1 
47SB          LDN   5  APARA(3) 
48#2          LDN   6  GHEAD(2) 
48RL          SMO      4
49?=          MOVE  5  0
49QW          LDX   2  FX2  
49SD ...#SKI G253&1 
49W2 ...(   
49XJ ...      LDX   0  AWORK2(2)
49^6 ...      BZE   0  NLIST               [ NO SPECIAL ACTION IF STANDARD LF   
4=2N ...      JBS      NLIST,2,CXTUSER     [  OR CAFE LIST  
4=4= ...      FNORM    3                   [ USING CPREFIX IF NO-USER CONTEXT   
4=5S ...      TESTRPN2 OK,SOFIN 
4=7B ...NLIST   
4=8Y ...)   
4==G          LDX   6  AWORK4(2)           [ TEST IF ONLY FILENAME  
4=Q6          BZE   6  XENFJ               [ PARAMETER IS PRESENT   
4?9Q          LDN   7  32                  [ SET PARAMETER STRINGS MODIFIER 
4?PB    [   
4*8=    SAG 
4*MW          TXU   7  XQMONF(1)           [ IF "MONFILE" IS THE NEXT CHAR  
4B7G          BCS      SAG01               [ STRING IN THE TABLE,   
4B#N ...#SKI G155$1&G253&1  
4BFW ...      BRUSEN   RET,2               [ AVOID FJOCA IF IN NO-USER CONTEXT  
4BM6          MHUNT    3,CPB,CALAS         [ AVOID PROCESSING IT UNLESS THE 
4C6Q          LDX   0  CPBCPLEV(3)         [ LF COMMAND IS INTERNALLY ISSUED
4CLB          [        OR SYSTEM STARTED
4D62          BNG   0  SAG01               [ J TO PROCESS   
4DKL          FJOCA    3,FX2               [ GET POINTER TO JOBLOCK 
4F5=          SPRIVJUMP JSISSUE,3,SAG01    [ J IF SYSTEM ISSUED 
4FJW          SPRIVTEST JSSTART,3,RET      [ J IF JOB NOT SYSTEM STARTED TO RET 
4G4G    SAG01   
4G6D ...#SKI G502&1 
4G8B ...(   
4G=# ...      LDN   0  0
4G#= ...      TXU   7  XQALL(1)            [ 'ALL' RESTART NOT APPLICABLE   
4GB8 ...      TXU   0  AWORK3(2)           [  TO ONLINE LISTING -   
4GD6 ...      BCC      RET                 [  AVOID CLASH WITH 'ALLCHAR'
4GG4 ...)   
4GJ6          ADX   1  7                   [ SET MODIFIER FOR PARAMETER TABLE   
4H3Q          LDX   5  PARSTR(1)           [ GET LENGTH OF PARAMETER
4HHB    SAG02   
4J32          LDN   3  0                   [ SET ANALYSIS LEVEL 
4JGL          PARABEG  1,5,PARSTR+1(1),3,0  
4K2=          MHUNT    3,CPB,CUNI   
4KFW          LDX   4  ANUM(3)  
4K^G          BNG   4  XFREE
4LF6          LDX   4  JPARNUM(3)          [ GET ITS NUMBER 
4LYQ          ANDN  4  #77  
4MDB          MHUNTW   2,GOUT,INFO  
4MY2          STO   4  GJOBS(2)            [ STORE PARAMETER NUMBER 
4NCL          LDX   4  ANUM(3)  
4NX=          ANDN  4  #7777
4PBW          LDN   6  1
4PWG          LDX   2  FX2  
4QB6          SBS   6  AWORK4(2)
4QTQ          BNZ   4  NOFREE              [ J IF MORE CHARACTERS   
4R*B          FREECORE 3                   [ NO CHARS AFTER PARAMETER   
4RT2    NOFREE  
4S#L          SMO   7                      [ FIND WHICH ROUTINE TO JUMP TO  
4SS=          LDX   6  PARSTR+3(1)  
4T?W          ADX   6  1
4TRG          MHUNTW   3,GOUT,INFO         [ FIND INFO BLOCK
4W?6          BRN      (6)                 [ J TO CORRECT ROUTINE   
4WQQ    XFREE   
4X=B          FREECORE 3                   [ NO PARAMETER FOUND: FREE BLOCK 
4XQ2          SBN   5  3                   [ J IF PERIPHERAL OR SHORTENED   
4Y9L          BNG   5  RETA                [ PARAMETER HAS BEEN LOOKED FOR; 
4YP=          LDN   5  2                   [ OTHERWISE SET PARAMETER LENGTH TO 2
4^8W          ADX   1  7                   [ RESET MODIFIER 
4^NG          BRN      SAG02               [ AND BRANCH BACK
5286    [   
52MQ    [   
537B    [ANALYSIS OF CODE PERAMETER 
53M2    [   
5KP6    [PERIPHERAL PARAMETER   
5L8Q    [   
5LNB    PARPER  
5M82          LDX   5  GJOBS(3) 
5MML          STO   5  AWORK3(2)           [ PRESERVE PERI PARAMETER NUMBER 
5N7=          BZE   4  RET  
5NLW          PHOTO    5
5NNS ...#SKI G253&1 
5NQQ ...(   
5NSN ...      IF       BC,2,CXTUSER 
5NWL ...      THEN  
5NYJ ...         VFREEW   FILE,ADJUNCTS 
5P2G ...      FI
5P4D ...)   
5P6G          PERCON                       [ CONVERT PARAMETER  
5PL6          TESTREP  PARERR,SOFIN        [ J IF ERROR FOUND   
5Q5Q          MHUNTW   2,CPAR,GPERCON      [ FIND CONVERTED PARAMETER BLOCK 
5QKB          LDX   4  A1(2)               [ LOAD CONVERTED PARAMETER   
5R52          ANDX  4  TM(1)               [ CUT OUT UNIT NUMBER
5RJL          FREECORE 2                   [ FREE BLOCK 
5S4=          TESTMOVE 5,NOTMD  
5SHW          MHUNTW   3,GOUT,INFO         [ RELOCATE INFO BLOCK IF NECESSARY   
5T3G    NOTMD   
5TH6          SLL   4  3
5W2Q          STO   4  GOPTY(3) 
5WGB          LDCH  4  GOPTY(3)            [ SET OUTPUT TYPE AS MODIFIER
5X22          LDN   5  1
5XFL          SMO   4                      [ SET OUTPUT TYPE SWITCH 
5X^=          SLL   5  0
5YDW          ANDX  5  OUTMK(1)            [ CHECK ITS VALID
5YYG          BZE   5  SPERER              [ J TO REPORT ERROR IF NOT   
5^D6          BRN      SN06 
5^XQ    [   
62CB    [ALL RESTART PARAMETER  
62X2    [   
63BL    RESTALL 
63W=          BNZ   4  SEREST              [ J TOO MANY CHARACTERS  
63YT ...#SKI G503&1 
643D ...(   
6463 ...      LDX   0  GOPTY(3)            [ IF ONLINE, IGNORE USER'S 'ALL' 
648L ...      BZE   0  RET                 [  SO WE CAN USE 'ALL' BIT OURSELVES 
64?9 ...)   
64*W          LDCT  4  1                   [ SET MARKER FOR ALL RESTART 
64TG          ORS   4  GMODE(3) 
65*6          BRN      RET                 [ J TO GET NEXT PARAMETER
65SQ    [   
66#B    [PAGE RESTART PARAMETER 
66S2    [   
67?L    RESTPAGE
67#? ...#SKI G503&1 
67#Y ...(   
67*K ...[ ACL MEND 0057 VARIABLE LENGTH PAGED OUTOUT ON MOP 
67B= ...      JBC      YACL1,2,CXTMOP      [STANDARD CODE IF NOT MOP
67BX ...      LDCH  5  GOPTY(3) 
67CJ ...      BNZ   5  YACL1               [J IF PERIPHERAL SPECIFIED   
67D9 ...      BZE   4  YACL2               [J IF NO PAGE LENGTH 
67DW ...      CALL  6  SCHNUMCOD           [CONVERT ASSUMING DECIMAL
67FH ...      TESTREP  CHNUMERR,SOFIN      [J IF ERROR  
67G8 ...      LDX   5  4
67GT ...      BNZ   4  YACL3
67HG ...      BRN      SOUTOFRANGE         [ ZERO PAGE LENGTH   
67J7 ...YACL2 LDN   5  18                  [DEFAULT 18 LINES
67JS ...YACL3 STO   5  GCOUNT(3)           [STORE PAGE LENGTH   
67KF ...      BS       3,BLFPAGER          [SET 'PAGE' BIT  
67L6 ...      BNZ   4  SN06                [FREE CPB-CUNI   
67LR ...      BRN      SN07 
67MD ...#   
67N5 ...SLA            4H*+*+              [ DEFAULT 'STOP' TERMINATOR  
67NQ ...#   
67PC ...YACL1   
67Q4 ...)   
67R=          BNZ   4  SEREST              [ J TOO MANY CHARACTERS  
68=W          LDCT  4  1
68QG          ANDX  4  GMODE(3)            [ J RESTART ALREADY SPECIFIED
69=6          BNZ   4  SERT1
69PQ          LDCH  4  GOPTY(3)            [ CHECK THAT OUTPUT PERIPHERAL IS
6=9B          SBN   4  2                   [ THE LINE PRINTER   
6=P2          BNZ   4  SERT2               [ ILLEGAL IF NOT 
6?8L          LDCT  4  2                   [ SET MARKER FOR TOTAL RESTART   
6?N=          ORS   4  GMODE(3) 
6#7W          BRN      RET                 [ J TO GET NEXT PARAMETER
6#MG    [   
6*76    [ LINES PARAMETER   
6*LQ    [   
6B6B    SLINES  
6BL2          LDN   0  1
6C5L          STO   0  AWORK1(2)
6CK=          BZE   4  SPARANULL           [ J IF NO NUMBER 
6D4W          CALL  6  SCHNUMCOD           [ CONVERT NUMBER 
6DJG          TESTREP  CHNUMERR,SNUMERR    [ J IF NOT NUMBER
6F46          STO   4  GNLI(3)  
6FHQ          BRN      SN06 
6G3B    [   
6GH2    [ FROM PARAMETER
6H2L    [   
6HG=    SFROM   
6H^W          BZE   4  SPARANULL           [ J IF NUMBER NULL   
6JFG          CALL  6  SCHNUMCOD
6J^6          TESTREPN   CHNUMERR,SFROM1   [ J IF NUMBER
6KDQ          LDX   4  GSIGN               [ "FROM" MARKER  
6KYB          DOWN     LISTRING,1          [ ANALYSE CONTEXT SELECTION  
6LD2          BRN      RET  
6LXL    SFROM1  
6MC=          STO   4  GFLI(3)  
6MWW          BRN      SN06 
6NBG    [   
6NW6    [ TO PARAMETER  
6P*Q    [   
6PTB    STO 
6Q*2          LDX   0  AWORK1(2)
6QSL          BNZ   0  TOLIN               [ J IF LINES AS WELL 
6R#=          BZE   4  SPARANULL           [ J IF NULL STRING   
6RRW          CALL  6  SCHNUMCOD           [ CONVERT NUMBER 
6S?G          TESTREPN CHNUMERR,STO1       [ J IF NUMBER
6SR6          LDN   4  0                   [ "TO" MARKER
6T=Q          DOWN     LISTRING,1          [ ANALYSE CONTEXT SELECTION  
6TQB          BRN      RET  
6W=2    STO1
6WFS          JBS      STO2,3,BLFFRCTEXT   [ J IF "FROM" CONTEXT
6WPL          NGX   0  GFLI(3)  
6X9=          ADX   0  4
6XNW          ADN   0  1                   [ INCLUSIVE  
6Y8G          BNG   0  SOUTOFRANGE         [ J IF TO < FROM 
6YN6          STO   0  GNLI(3)  
6YR=          BRN      SN06 
6YWB    STO2
6Y^G          STO   4  GNLI(3)  
6^4L          BS       3,BLFTO             [ "TO" NUMBER
6^7Q    SN06
6^MB          MHUNT    1,CPB,CUNI          [ FIND PARAMETER BLOCK   
7272          FREECORE 1                   [ AND FREE IT
72LL    SN07
736=          LDX   1  FX1  
73KW    RET 
745G          LDX   6  AWORK4(2)           [ TEST IF NO MORE PARAMETERS 
74K6          BZE   6  XENFJ
754Q    RETA
75JB          BZE   7  XENFJ               [ J IF ALL LEGAL PARAMELERS LOOKED FO
7642          SBN   7  4                   [ UPDATE POINTER TO PARAMETER TABLE  
76HL          BRN      SAG  
773=    [   
77GW    [INTERNALLY ISSUED "MONFILE" PARAMETER  
782G    [   
78G6    PMONF   
78PY          BZE   4  SN07                [ J IF PARAMETER NULL - IGNORE   
78^Q          PHOTO    6
79FB          CHNUMCOO 1                   [ CONVERT MONITORING MASK
79^2          TESTREP  OK,P02              [ IF THIS RESULTS IN ERRORS, 
7=DL          NGN   5  1                   [ CARRY ON BUT SELECT ALL MESSAGES   
7=Y=          BRN      P03                 [ OTHERWISE JUST 
7?CW    P02 
7?XG          LDX   5  ACOMMUNE1(2)        [ SELECT MESSAGE SIEVE   
7#C6    P03 
7#WQ          TESTMOVE 6,STAT              [ PROBABLY NOT MOVED, BUT COULD BN   
7*BB          MHUNTW   3,GOUT,INFO         [ IF SO WE MUST RELOCATE 
7*W2    STAT
7B*L          STO   5  GMFMSK(3)           [ STORE THE MESSAGE SIEVE
7BT=          LDN   5  4
7C#W          ORS   5  GMODE(3)            [ SET B21 OF GMODE (MONFILE MARKER)  
7CSG          BRN      SN06 
7DRQ    [   
7F?B    [NUMBERED LISTING PARAMETER 
7FR2    [   
7G=L    NUMBER  
7L7L          BNZ   4  SEREST              [ J TOO MANY CHARACTERS  
7LM=          LDCH  2  GOPTY(3)            [ TEST AND J IF NOT ALLOWED ON   
7M6W          LDN   5  1                   [ SPECIFIED OUTPUT PERIPHERAL
7MLG          SLL   5  0(2) 
7N66          LDX   2  FX2  
7NKQ          ANDX  5  NUMBMK(1)
7P5B          BZE   5  SNOTAL   
7PK2          LDN   5  2                   [ SET NUMBER MARKER  
7Q4L          ORS   5  GMODE(3) 
7QJ=          BRN      XENFI
7R3W    [   
7RHG    [SPECIAL LISTING PARAMETER  
7S36    [   
7SGQ    SPECIAL 
7YCQ          BNZ   4  SEREST              [ J TOO MANY CHARACTERS  
7YXB          LDCH  2  GOPTY(3)            [ TEST AND T SPECIAL NOT ALLOWED 
7^C2          LDN   5  1                   [ WITH SPECIFIED OUTPUT TYPE 
7^WL          SLL   5  0(2) 
82B=          LDX   2  FX2  
82TW          ANDX  5  SPECMK(1)
83*G          BZE   5  SNOTAL2             [ J IF NOT ALLOWED   
83T6          LDN   5  1
84#Q          ORS   5  GMODE(3) 
84SB          BRN      RET  
85#2    [   
85RL    [NOW THAT MOST OF THE TRIVIAL PARAMETERS HAVE BEEN ANALYSED,THE 
86?=    [JOB BLOCK IS ACCESSED TO EXTRACT THE JOB-NAME AND USER-NAME AND
86QW    [TO CONSTRUCT A PAIR OF INDEX KEYS FOR THE REQUEST. 
87=G    [   
87?6 ...#SKI G254^G502^G503&1   
87?Q ...(   
87#B ...#     OPTIONAL EXTRA PARAMETERS FOR ADDITIONAL LF FACILITIES
87*2 ...#     M254 = NOPA ON *LP ONLY; OTHERS FOR MOP ONLINE LF'S ONLY  
87*L ...#   
87B= ...#     TABLE WITH 2-WORD ENTRIES: 4H<KEY>, <BIT PATTERN> 
87BW ...XTRAPARS
87CG ...#SKI G503&1 
87D6 ...SSTOP XTRALFPAR STOP
87DQ ...#SKI G502&1 
87FB ...(   
87G2 ...      XTRALFPAR GRAP,GR 
87GL ...      XTRALFPAR NORM,SHIF   
87H= ...      XTRALFPAR ALLC,SHIF,NOPA  
87HW ...      XTRALFPAR GR  
87JG ...      XTRALFPAR SHIF
87K6 ...      XTRALFPAR NOLF,NOPA   
87KQ ...      XTRALFPAR NOBC
87LB ...      XTRALFPAR NBC,NOBC
87M2 ...      XTRALFPAR PICT,NOPA,SHIF,NOBC 
87ML ...)   
87N= ...XTRAPARE
87NW ...)   
87Q6    XENFJ   
889Q          MHUNTW   3,GOUT,INFO  
88PB    XENFI   
88PJ ...#SKI G254^G502^G503&1   
88PQ ...(   
88PY ...      LDX   6  AWORK4(2)           [ NUMBER OF PARAMS LEFT  
88Q6 ...      BZE   6  XPARS               [ NO PARAMS LEFT 
88Q# ...      LDCH  4  GOPTY(3)            [ X4 = 0 ONLINE LF, 2 *LP LF 
88QG ...#SKI G502^G503&1
88QN ...(   
88QW ...      LBW      2,CXTOFFLINE,0      [ X0 # 0 IF NOT MOP  
88R4 ...      ORX   4  0                   [ PARAMS FOR MOP ONLINE LF ONLY  
88R= ...)   
88RD ...      BNZ   4  XPARS               [ IGNORE EXTRA PARAMS IF NOT ALLOWED 
88RL ...PALL  LDN   4  XTRAPARE-XTRAPARS   [ FULL TABLE LENGTH  
88RS ...TABOK   
88S2 ...      STOZ     AWORK4(2)           [ GETS RESET TO NO. UNPROCESSED  
88S8 ...      LDN   7  0                   [ TO HOLD SPECIAL BITS   
88SB ...#SKI G503&1 
88SJ ...      LDX   5  ACES                [ IMPOSSIBLE 'STOP' TERMINATOR   
88SQ ...NXTP  PARUNACC  
88SY ...      MHUNT    1,CPB,CUNI   
88T6 ...      NGX   0  ANUM(1)             [ -VE SHOULDN'T HAPPEN   
88T# ...      BPZ   0  MPTY                [ IGNORE EMPTY   
88TG ...      LDX   3  4                   [ TABLE LENGTH   
88TN ...      LDX   0  APARA(1)            [ 1ST 4 CHARS
88TW ...NXTPS SBN   3  1
88W4 ...      SMO      FX1  
88W= ...      TXU   0  XTRAPARS-1(3)       [ FIND IN TABLE  
88WD ...      BCC      XTRPF
88WL ...      BCT   3  NXTPS
88YG ...      ZERRORX  APFERR   
88YN ...#   
88YW ...XTRPF SMO      FX1  
88^4 ...      ORX   7  XTRAPARS(3)         [ BIT PATTERN
88^= ...#SKI G503&1 
88^D ...(   
88^L ...      SMO      FX1  
88^S ...      TXU   0  SSTOP
8922 ...      BCS      MPTY 
8928 ...      LDX   0  ANUM(1)  
892B ...      ANDN  0  #7777
892J ...      SBN   0  5
892Q ...      SMO      FX1  
892Y ...      LDX   5  SLA                 [ DEFAULT 'STOP' TERMINATOR  
8936 ...      BNG   0  MPTY 
893# ...      LDX   5  APARA+1(1)          [ PARAMETER GIVEN TO 'STOP'  
893G ...)   
893N ...MPTY  FREECORE 1
893W ...      BCT   6  NXTP 
8944 ...PDONE MHUNTW   3,GOUT,INFO  
894= ...      ORS   7  GMODE(3) 
894D ...#SKI G503&1 
894L ...(   
894S ...      TXU   5  ACES 
8952 ...      BCC      XPARS               [ NO 'STOP' PARAMETER
8958 ...      STO   5  GHEAD(3)            [ 'STOP' TERMINATOR  
895B ...)   
895J ...XPARS   
895Q ...)   
895Y ...#SKI G253&1 
8966 ...(   
896# ...      LDX   0  AWORK2(2)
896G ...      BZE   0  STAND
896N ...      MHUNTW   2,IUSER,JBL         [ GET PRETEND JOB & USER NAMES ETC.  
896W ...      BRN      NONST
8974 ...STAND   
897= ...)   
8992          FJOCA    2                   [ GET POINTER TO JOBLOCK 
89B8 ...#SKI G253&1 
89HB ...NONST   
89NL          LDN   5  JUSER(2)            [ COPY ACROSS USER NAME  
8=8=          LDN   6  GUSER(3) 
8=MW          MOVE  5  3
8?7G          LDN   4  JNAME(2)            [ COPY ACROSS JOBNAME
8?M6          LDN   5  GJOBN(3) 
8#6Q          MOVE  4  3
8#LB          LFKEY    2,3                 [ SET UP INDEX KEYS IN GOUT/INFO 
8*62          LDX   4  ALOGLEN(3)          [ SET RECORD HEADER  
8*KL          STO   4  A1(3)
8B5=          ACROSS   LISTPARS,2   
8BJW    [   
8C4G    [***********************************************************************
8CJ6    [   
8D3Q    [THE FOLLOWING CODE DEALS WITH GENERATING VARIOUS ERROR MESSAGES.   
8DHB    [WHEN THE ERROR HAS BEEN REPORTED,A RETURN IS MADE TO THE'COMMAND   
8F32    [PROCESSOR'.
8FGL    [   
8G2=    PARER   
8GFW          SBX   4  FX1  
8G^G    [THIS S/R RECONSTRUCTS THE PERIPHERAL PARAMETER FOR PART OF AN  
8HF6    [ERROR MESSAGE. X3 -> GOUT/INFO 
8HYQ          SPARANOX GJOBS(3)            [ GET CUNI BLOCK BACK
8JDB          ADX   4  FX1  
8JY2          EXIT  4  0
8KCL          ZERRORY                      [ SET UP COMERR  
8KX=    SEREST  
8LBW          CALL  4  PARER
8LWG          ZERRORX  JEXCHARS            [ TOO MANY CHARS 
8MB6    SERT1   
8MTQ          CALL  4  PARER
8N*B          ZERRORX  JREST1              [ ALL RESTART ALREADY SPECIFIED  
8NT2    SERT2   
8P#L          ZERRORX  JRPAGE              [ PAGE RESTART NOT ALLOWED UNLESS *LP
8PS=    SPERER  
8Q?W          CALL  4  PARER
8QRG          ZERRORX  JNOTAL              [ NOT OUTPUT DEVICE  
8R?6    [   
8RQQ    SPARANULL   
8S=B          CALL  4  PARER
8SQ2          ZERRORX  JNULLPAR            [ PARAMETER NULL 
8T9L    [   
8TP=    SOUTOFRANGE 
8W8W          CALL  4  PARER
8WNG          ZERRORX  JOUTOFRANGE         [ NUMBER OUTSIDE ALLOWED RANGE   
8X86    [   
8XMQ    SNUMERR 
8Y7B          ZERRORX  CHNUMERR            [ NOT VALID NUMBER   
8YM2    [   
8^6L    [ERROR MESSAGES FOR GS CODE PERAMETER   
98YL    SNOTAL  
99D=          LDX   2  AWORK3(2)           [ PERIPHERAL PARAMETER NUOBER
99XW          STO   2  GJOBS(3) 
9=CG          CALL  4  PARER
9=X6          ZERRORX  JNUMBLF             [ NUMBER NOT ALLOWED ON THIS DEVICE  
9?BQ    SNOTAL2 
9?WB          LDX   2  AWORK3(2)           [ PERIPHERAL PARAMETER NUMBER
9#B2          STO   2  GJOBS(3) 
9#TL          CALL  4  PARER
9**=          ZERRORX  JSPECLF             [ SPECIAL NOT ALLOWED ON THIS DEVICE 
9*SW    NEGNO   
9B#G          CALL  4  PARER
9BS6          ZERRORX  JNEGNO              [ NEGATIVE NUMBER NOT ALLOWED
9C?Q    TOLIN   
9CRB          ZERRORX  ALFTOLIN            [ LINES & TO IN SAME COMMAND 
9D?2    NOFN
9DQL          COMERR   JPARMIS,JFNAME      [ FILE NAME MISSING  
9F2D    SOFIN   
9F==          ENDCOM
9FPW    #END
^^^^ ...302370310003