OPERATOR867

(George Source)

Macros used: ACROSSVAR, BC, BICE, BS, BXE, BXU, CCON, CHEKPRIV, COMERR, COMERRX, FJOCA, JBC, MENDAREA, MFREE, MHUNT, PAIR, PARAFREE, PARAMOVE, PARANEXT, SEG, SEGENTRY, SPARAPAS, TESTREP2, WRONG

OPERATOR867.txt
22CB ...#LIS  K0OPERATOR>K0COMMAND>K0ALLGEO 
22L4 ...      SEG  OPERATOR,867,SECTION CENT,,G402  
22SQ ...[   
233D ...[  (C)  COPYRIGHT INTERNATIONAL COMPUTERS LTD  1982 
23=6 ...[     THIS EXCLUDES CODE UNDER #SKI  G402   
23DS ...[   
23MG ...      SEGENTRY K2OPERATOR   
244W ...      SEGENTRY K1OPERATOR,SENTRY1   
24G= ...      SEGENTRY K3OPERATOR,SENTRY3   
24XQ    [   
25CB    [   
25X2 ...[              THIS SEGMENT CHECKS THAT THE SPECIFIED COMMAND IS
26BL ...[              'OP'ABLE AND IN AN ALLOWABLE CONTEXT TO BE 'OP'ED.   
26W= ...[              IT THEN PASSES CONTROL TO THE APPROPRIATE
27*W ...[              SEGMENT TO EXECUTE OR CANCEL THE COMMAND.
27TG ...[   
28*6 ...[              THE FOLLOWING IS A LIST OF 'OP'ABLE COMMANDS 
28SQ ...[   
29#B ...      SEGENTRY K90OPERATOR           [ THE START OF THE LIST
2=?L    VERBLIST
2=*3 ...      BICE  AB,ABANDON,2,ABANDONA,1 
2=BD ...               +0   
2=CT ...      BICE  SC,SCHEDULE,2,SCHEDULE,1
2=F= ...               +0   
2=GM ...      BICE  RG,REGENERATE,2,REGEN,1 
2=J4 ...               +0   
2=KF ...      BICE  WS,WHATSTATE,1,WHTSTAT,1
2=LW ...               +0   
2=N? ...      BICE  WJ,WHATJOBS,1,WHATJBS,1 
2=PN ...               +0   
2=PT ...#UNS  HWLSLCH   
2=Q2 ...#SKI
2=Q8 ...(   
2=QD ...      BICE     WL,WHATLIST,1,WHATLIST,1 
2=QN ...               +0   
2=QY ...)   
2=Q^ ...#UNS  HWLSLCH   
2=R2 ...(   
2=R3 ...      BICE      WL,WHATLIST,1,WLA,1 
2=R4 ...                +0  
2=R5 ...      BICE     SL,STOPLIST,2,WLA,2  
2=R6 ...               +0   
2=R7 ...      BICE     CH,CHANGELIST,2,WLA,3
2=R8 ...               +0   
2=R9 ...)   
2=R= ...      BICE     IP,INSTPARA,2,INSTPARA,1 
2?=W ...      +0
2?D4 ...      BICE     WV,WHATRVS,1,WHATRVS,1   
2?K= ...               +0   
2?QG ...      BICE     CC,CANCEL,0,OPERATOR,3   
2#=6 ...      +0
2#=L ...#UNS G402   
2#?6 ...(   
2#?L ...      BICE  AU,ATTRIBUTE,2,ATTRIBUT,1   
2##6 ...      PAIR  ATTRIBUT,2  
2##L ...      BICE  AE,ASSOCIATE,2,ASSOC,1  
2#*6 ...      PAIR  ASSOC,2 
2#*L ...      BICE  PR,PROPERTY,2,PROPERTY,1
2#B6 ...      PAIR  PROPERTY,2  
2#BL ...      BICE  RI,RIGHT,2,RIGHT,2  
2#C6 ...               +0   
2#CL ...      BICE  WR,WRONG,2,RIGHT,3  
2#D6 ...               +0   
2#DL ...      BICE  UL,UNLOAD,2,UNLOAD,1
2#F6 ...               +0   
2#FL ...      BICE  TE,TERMINATE,2,TERM,1   
2#G6 ...               +0   
2#GL ...      BICE  CD,CANTDO,2,CANTDO,1
2#H6 ...               +0   
2#HL ...      BICE  BC,BROADCAST,1,BCAST,1  
2#J6 ...               +0   
2#JL ...      BICE  SK,SPEAK,1,SPEAK,1  
2#K6 ...               +0   
2#KL ...      BICE  WP,WHATPER,1,WHATPER,1  
2#L6 ...               +0   
2#LL ...      BICE  PA,PAGES,2,PAGES,1  
2#M6 ...               +0   
2#ML ...      BICE  HO,HOLD,2,HOLDCOM,1 
2#N6 ...               +0   
2#NL ...)   
2#PQ ...      SEGENTRY K91OPERATOR           [ THE END OF THE LIST  
2GK=    #DEF  VBLISTLEN=0?-VERBLIST 
2H4W ...#DEF  SIZEBICE=BICESIZE+HLINK      [ NO OF WORDS IN BICE MACRO  
2HJG    [              THE FOLLOWING IS A LIST OF SUB-TYPES FOR THE CONTEXT 
2J46    [              ERROR MESSAGES.  
2JHQ    PCOMPLIS
2K3B                   +JBREAK  
2KH2                   +JNOBREAK
2L2L                   +JPROGISH
2LG=                   +JFULL   
2L^W                   +JTENT   
2MFG                   +JCOR
2M^6                   +JNOCOR  
2NDQ                   +JREM
2NYB                   +JATT
2PD2                   +JPTCR   
2PXL                   +JOPCON  
2QC=                   +JMOPCON 
2QWW                   +JJDF
2RBG                   +JDIR
2RW6                   +JCOM
2S*Q    TWO            +2   
2STB    THTEN          +13  
2TSL    MERCONT        +ERCONT  
2W#=    [   
2WD7 ...SENTRY3 
2WJ4 ...      BC       2,EXOPCOM
2WM^ ...      CCON  
2WRW    SENTRY1 
2X?G          PARANEXT #20             [SEPARATE COMMAND TO BE CANCELLED FROM   
2XR6                                   [ITS FIRST PARAMETER AND PARAPASS IT 
2Y=Q                                   [ACROSS  
2Y#N ...#UNS  ANSTOOMANY
2YBL ...(   
2YDJ ...      TESTREP2 UNPAIR,ZN2,TOOMANY,ZN3   
2YGG ...[     ERROR IF UNPAIRED DELIMITER OR >24 PARAMS WITHIN BRACKETS 
2YJD ...)   
2YLB ...#UNS ANSTOOMANY 
2YN# ...#SKI
2YQB ...      TESTREP2 UNPAIR,ZN2      [ERROR IF UNPAIRED DELIMITER 
2^=2          MHUNT    3,CPB,CUNI   
2^PL          LDX   7  ANUM(3)         [GET WORD CONTAINING PARAMETER TYPE AND  
329=                                   [THE NO. OF CHARACTERS   
32NW          BNG   7  NOK             [BRANCH IF PARAMETER MISSING 
338G          ANDN  7  #7777
33N6          TXL   7  THTEN(1)        [TEST IF LONGER THAN TWELVE CHARACTERS   
347Q          BCS      NOK  
34MB          COMERR   INVERB   
3572    NOK   BNZ   7  N1              [TEST IF PARAMETER NULL  
35LL          COMERR   JPARNULL,JCOMA   
366=    N1    BPZ   7  N2              [TEST IF MISSING 
36KW          COMERR   JPARMIS,JCOMA
375G ...N2  
37K6 ...      LDN   4  VBLISTLEN          [GET COUNT FOR TESTING LIST OF COMMAND
384Q          TXU   7  TWO(1)          [TEST IF SHORT-FORM  
38JB          BCS      N3   
3942          LDN   6  0
39HL    N4    LDX   5  VERBLIST(1)     [GET NEXT SHORT-FORM 
3=3=          SBX   5  APARA(3) 
3=GW          BZE   5  VRBOK           [WAS IT THE SAME AS THE COMMAND TO BE
3?2G ...                               ['OP'ED? 
3?G6          ADN   6  SIZEBICE        [ LOOK AT NEXT COMMAND IN TABLE  
3?^Q          ADN   1  SIZEBICE 
3#FB          TXL   6  4               [DOES AT LEAST ONE POSSIBLE COMMAND  
3#^2                                   [REMAIN? 
3*DL          BCS      N4   
3*Y= ...ZN1   COMERR   ERINVOP  
3B5D ...ZN2   SPARAPAS                 [SET UP CUNI BLOCK   
3B=L ...      COMERR   ERUNPAIR 
3B#N ...ZN3   COMERR   JMAXPAR  
3BBR ...[   
3BGY ...N3  
3BM5 ...[     LONG FORM OF COMMAND  
3BR= ...      ADN   7  3               [CALCULATE NO. OF WORDS TAKEN UP BY THE  
3BXG          SRL   7  2               [COMMAND (INCLUDING THE SPACE-FILLING OF 
3CC6                                   [THE LAST WORD,IF NECESSARY) 
3CWQ          LDN   6  0
3D97 ...N5    LDN   2  0
3DHJ ...N5A 
3DW2          SMO      2
3F*L ...      LDX   5  VERBLIST+1(1)     [GET NEXT WORD OF COMMAND  
3FT=          SMO      2
3G#W ...      SBX   5  APARA(3) 
3GSG          BZE   5  N6              [DOES IT COMPARE SO FAR? 
3G^N ...[   
3H6W ...N5B 
3H#6          ADN   6  SIZEBICE        [ LOOK AT NEXT COMMAND IN TABLE  
3HRQ          ADN   1  SIZEBICE 
3J?B          TXL   6  4               [AT LEAST ONE POSSIBLE COMMAND REMAINS?  
3JR2          BCS      N5   
3K5C ...      BRN      ZN1  
3KCS ...[   
3KQ=    N6    ADN   2  1
3KXD ...      BXU   2  7,N5A               [J IF MORE TO CHECK  
3L4L ...      LDN   5  3
3L9S ...      BXE   2  5,VRBOK             [OK IF INPUT=3 WORDS 
3LC2 ...[   
3LJ8 ...[     INPUT < 3 WDS LONG SO SEE WHETHER ANY MORE
3LPB ...[     SIGNIFICANT CHARS IN VERB 
3LWJ ...      SMO      2
3M3Q ...      LDX   5  VERBLIST+1(1)       [NEXT WORD OF VERB   
3M8Y ...      BXE   5  ACES,VRBOK          [OK IF SPACES
3MB6 ...      BRN      N5B                 [OTHERWISE TRY NEXT ENTRY IN TABLE   
3MH# ...[   
3MNQ ...VRBOK NGN   5  4               [MASK TO REMOVE PRIV BITS
3N8B ...      ANDX  5  VERBLIST+4(1)   [FORBIDDEN CONTEXTS  
3NN2 ...      SMO      FX2  
3P7L ...      ANDX  5  CONTEXT         [CURRENT CONTEXTS
3PM= ...      BZE   5  TXTPRV          [DOES A FORBIDDEN CONTEXT COINCIDE WITH  
3Q6W ...                               [A CURRENT CONTEXT   
3QLG ...      SLL   5  9               [YES! - ERROR
3W3W          LDN   7  0
3WHG    N8    BPZ   5  N7              [DOES THIS BIT INDICATE THE CONTEXT  
3X36                                   [ERROR?  
3XGQ          LDX   1  FX1  
3Y2B          SMO      7
3YG2          LDX   5  PCOMPLIS(1)     [GET POINTER TO APPROPRIATE SUB-MESSAGE  
3Y^L          COMERRX  MERCONT(1),5    [POINTER TO ERROR MESSAGE (+ERCONT) IS   
3^F=                                   [IMPLICIT
3^YW    N7    SLL   5  1               [PREPARE NEXT BIT
42DG          ADN   7  1               [UPDATE POINTER  
42Y6          BRN      N8   
42YD ...TXTPRV                         [NO! - THEN TEST CONTEXT PRIVILEGES  
42YQ ...      LDX   5  VERBLIST+4(1)
42^4 ...      ANDX  5  ICONTEXT        [OBTAIN REQUIRED PRIVILEGE   
42^B ...      BZE   5  TXTOK           [J IF PRIVILEGE NOT REQUIRED 
42^N ...      FJOCA    3,2             [GET JOBQE BLOCK 
4322 ...      LDX   7  JPRIV(3)        [OBTAIN JOB PRIVILEGE
432# ...      ANDX  7  5
432L ...      ERX   7  5
432Y ...      BNZ   7  WRONG           [J IF USER HASNT REQUIRED PRIVILEGE  
433= ...TXTOK LDX   5  VERBLIST+4(1)
436B ...      ANDN  5  3                   [BITS FOR PRIVILEGES NEEDED  
439G ...      BZE   5  PRIVOK               [NONE REQUIRED  
43#L ...      SBN   5  1
43CQ ...      BNZ   5  PRIVQ               [JUMP IF ACTIVOP REQUIRED
43GW ...      CHEKPRIV ,PRIVP,WRONG      [CHECK PASSIVOP
43L2 ...      BRN      PRIVOK   
43P6 ...PRIVQ CHEKPRIV ,PRIVA,WRONG        [CHECK ACTIVOP   
43QN ...PRIVOK  
43S= ...      MHUNT    3,CPB,CUNI   
43TS ...      LDX   7  ANUM(3)         [GET NO. OF CHARACTERS   
43XB          ANDN  7  #7777           [IN COMMAND TO BE CANCELLED  
44C2          PARAMOVE 7               [MOVE UP PARAMETERS OF COMMAND TO BE 
44WL                                   [CANCELLED IN CPB/CALAS BLOCK,OVERWRITING
45B=                                   [THE COMMAND ITSELF  
45TW ...      PARAFREE                 [FREE ALL CPB/CMULTI BLOCKS  
46*G          MFREE    CPB,CUNI        [FREE THE CPB/CUNI BLOCK 
46FY ...      JBC      NOTCC,2,EXCANISS    [JUMP IF NOT CANCEL  
46LB ...      ADN   6  HLINK               [SECOND LINKPAIR 
46QS ...      SMO      6
46X= ...      LDX   5  VERBLIST+5(1)
473N ...      BZE   5  ZN1                 [JUMP IF NOT CANCELLABLE 
4786 ...NOTCC SMO      6
47#Q          LDN   5  VERBLIST+5(1)   [GET POINTER TO LINK-PAIR OF SEGMENT 
47SB                                   [WHICH WILL EFFECT THE CANCELLATION  
48#2          LDN   6  AWORK1(2)
48RL          MOVE  5  HLINK           [ MOVE LINK FOR ACROSSVAR
49?= ...      BS       2,EXOPCOM                         [ SET BIT INDICATING OP
49QW          ACROSSVAR AWORK1(2)   
49^6 ...PRIVA          8HACTIVOP
4=7B ...PRIVP          8HPASSIVOP   
4=*L ...WRONG COMERR   ANOPRIV  
4=HW ...      MENDAREA 30,GAPOPERATOR   
4=Q6    #END
^^^^ ...47566403000200000000