{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: OPERATOR867)}} ====== OPERATOR867 ====== (George Source) **Macros used:** [[george:macro:ACROSSVAR|ACROSSVAR]], [[george:macro:BC|BC]], [[george:macro:BICE|BICE]], [[george:macro:BS|BS]], [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:CCON|CCON]], [[george:macro:CHEKPRIV|CHEKPRIV]], [[george:macro:COMERR|COMERR]], [[george:macro:COMERRX|COMERRX]], [[george:macro:FJOCA|FJOCA]], [[george:macro:JBC|JBC]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:PAIR|PAIR]], [[george:macro:PARAFREE|PARAFREE]], [[george:macro:PARAMOVE|PARAMOVE]], [[george:macro:PARANEXT|PARANEXT]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:WRONG|WRONG]] 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