{{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