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