{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: ERROR867)}}
====== ERROR867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BXGE|BXGE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:JANAL|JANAL]], [[george:macro:JBC|JBC]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:ON|ON]], [[george:macro:OUTMESSX|OUTMESSX]], [[george:macro:OUTNULL|OUTNULL]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:OUTPERA|OUTPERA]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]], [[george:macro:VFREEW|VFREEW]]
22=X ... SEG ERROR,,CENT(COMMAND PROCESSOR),,G400
22HS ...[
22SP ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
235L ...[
23BH ...#UNS G400
23MD ...# THIS CHAPTER IS MODIFIED FOR G3PLUS-IH MK2
23YG SEGENTRY K1ERROR,SENTRY1
24D6 SEGENTRY K2ERROR,SENTRY2
24XQ SEGENTRY K3ERROR,SENTRY3
257J ... SEGENTRY K5ERROR,SENTRY5 [DOHIER MACRO
25CB # THIS SEGMENT IS ENTERED BY 4 MACROS,ERROR AND ERRORX WHICH COME
25X2 # DOWN,AND COMERR AND COMERRX WHICH COME ACROSS.THIS SEGMENT LOOKS
26BL # FOR A UNI-BLOCK TO FIND THE PARAMETER NUMBER AND COMPILES A
26W= # MESSAGE WHICH SAYS 'IN PARAMETER N'.IF THERE IS NO UNI BLOCK
27*W # THE MESSAGE IS OUTNULLED.IF A SUB-MESSAGE WAS SPECIFIED IN
27TG # THE MACRO,THIS IS OUTPUT.IF NO SUB-MESSAGE,IT IS ASSUMED THAT
28*6 # IF THERE IS A UNI-BLOCK IT CONTAINS A SUB MESSAGE,OTHERWISE
28SQ # THIS MESSAGE IS OUTNULLED.THE COMMAND PROCESSOR HIERARCHY IS
29#B # ALSO OUTPUT.THUS THE THREE CONSTITUENT PARTS AFOREMENTIONED
29S2 # PLUS THE MAIN MESSAGE SPECIFIED IN THE MACRO FORM THE WHOLE
2=?L # MESSAGE
2=R= #
2?=W #
2?QG #
2#=6 #
2#PQ # THIS SECTION COMPILES THE COMMAND PROCESSOR HIERARCHY UP TO AND
2*9B # INCLUDING COMMAND PROCESSOR LEVEL 1. WITH A BROKEN IN ON LINE
2*P2 # JOB,UP TO AND INCLUDING THE TOP BREAK IN LEVEL .WITH ALL OTHER
2B8L # CASES THE COMPLETE HIERARCHY.
2BN= #
2C7W #
2CMG #
2D76 # THIS ENTRY IS FOR THE SPERROR MACRO. THIS IS A SPECIAL PURPOSE
2DLQ # MACRO TO ASSEMBLE THE HIERARCHY,EXCEPT THE COMMAND AT THE LOWEST
2F6B # LEVEL, AS %A IN A GMON/ASET BLOCK.THE ERROR BIT IS ALSO SET. THIS
2FL2 # MACRO IS FOR USE BY THE COMERR COMMAND
2G5L #
2GK= SENTRY3
2H4W LDX 4 GSIGN
2HJG STO 4 EXT+3(2) [STORE SPERROR MARKER
2J46 LDN 4 0
2JHQ BRN SP1
2JJM ...#UNS G400
2JKJ ...#SKI
2JLF ...(
2JMB ...SENTRY5
2JN? ... BRN (GEOERR)
2JP8 ...)
2JQ5 ...#UNS G400
2JR2 ...(
2JRX ...# ENTRY FOR DOHIER MACRO
2JSS ...SENTRY5
2JTP ... LDX 4 GSIGN
2JWL ... ORN 4 1
2JXH ... STO 4 EXT+3(2) [MARKER FOR DOHIER
2JYD ... LDN 4 0
2J^* ... BRN SP1
2K2= ...)
2K3B SENTRY1
2KH2 LDN 4 1 [MARKER FOR ERROR/ERRORX
2L2L STO 4 EXT+3(2)
2LG= BRN START
2L^W SENTRY2
2MFG STOZ EXT+3(2) [MARKER FOR COMERR/COMERRX
2M^6 START
2NDQ LDX 4 EXT(2)
2NYB BPZ 4 WOOP
2PD2 GEOERR 1,NOMESSIN [GEOERR IF NO COMERR PARAMETERS
2PXL WOOP
2QC= LDN 4 1 [ADD 1 AS FIRST LEVEL IS CPL 0
2QWW SP1 ADX 4 CPLEV(2) [X4=NO OF POSS ENTRIES IN HIERARCHY
2RBG SLL 4 2 [ALLOWS 4 WORDS FOR EACH LEVEL
2RL# ... LDN 6 0
2RW6 ... JBC NCCCOM,2,EXCANISS [J IF NOT CC
2S5Y ... LDCT 6 #400
2S*Q ...NCCCOM
2SKJ ... JBC NOPCOM,2,EXOPCOM [J IF NOT OP
2STB ... SRL 6 1
2T58 ... ORX 6 GSIGN
2T*2 ...NOPCOM
2TJS ... STO 6 AWORK2(2) [REMEMBER FOR LATER
2TSL ... BZE 6 N1
2W4D ... ADN 4 5 [ALLOW ENOUGH FOR 'CC OP'
2W#= N1 ADN 4 4 [ADD 4 FOR 'ON UNIT ?'
2WRW SETUPCORE 4,3,COMDAT,CINC [GET AND NAME A COMDAT CINC BLOCK
2X?G #SKI ADELO
2XR6 (
2Y=Q ... JANAL NVB [J IF STILL PROCESSING COMMAND
2YQB ... BRN NVERB [J IF 'VERB-BIT' CLEAR
2^=2 ...NVB LDX 6 EXT+3(2)
329= BNZ 6 NCOME [J IF NOT 'COMMERRR'
32F4 ... LDN 0 1
32NW ERS 0 EXT+9(2) [ELSE CLEAR BIT
338G NCOME MHUNTW 2,CLB
33N6 LDN 0 4
347Q LDX 5 VERB(1)
34MB LDX 6 VERB+1(1)
3572 STO 0 ANUMCHA(2) [COUNT OF 4
35LL STO 5 CLBFIR(2) [& "VERB " IN 1ST CLB
366= STO 6 CLBFIR+1(2)
36KW LDX 2 FX2
375G NVERB
37K6 )
384Q LDN 0 0 [ZEROISE COUNT OF CHARACTERS
38JB STO 3 AWORK1(2)
3942 ADN 3 A1 [POINTER TO FIRST WORD OF IN BLOCK
39HL LDX 4 EXT+3(2)
3=3= BPZ 4 X1 [J IF NOT SPERROR MACRO
3=GW MHUNTW 2,CPB,CALAS [TO OMIT LOWEST LEVEL OF HIERARCHY
3?2G LDN 0 0
3?G6 X1 LDX 2 FPTR(2) [ THIS SECTION
3?^Q LDX 4 ATYPE(2) [ SEARCHES FOR
3#FB SRL 4 12 [ THE NEXT
3#^2 ERN 4 CPB+CALAS [ CPB/CALAS
3*DL BNZ 4 X1 [ BLOCK
3*Y= LDX 7 2 [STORE POINTER TO CPB/CALAS BLOCK
3BCW LDEX 6 CPBCPLEV(2)
3BXG LDCT 5 #400
3CC6 ANDX 5 CPBCPLEV(2)
3CWQ BNZ 6 SPLOD [JUMP IF NOT CPL 0
3DBB SMO FX2
3DW2 LDX 4 CONTEXT [LOAD THE CONTEXT BITS
3F*L BNG 4 NOUGHT [J IF A SYSTEM ISSUED JOB
3FT= ANDN 4 4
3G#W BNZ 4 NOUGHT [JUMP IF OFFLINE JOB
3GSG BRN PCO
3H#6 SPLOD BNZ 5 PCO [JUMP IF INTERNALLY ISSUED
3HRQ LDX 5 CPBFSD(2) [LOAD MACRO INDICATOR
3J?B BPZ 5 PCO [JUMP IF MACRO
3JR2 LDN 6 0 [PRETEND CPL 0 SINCE BREAK IN
3K=L PCO
3KQ= LDX 2 FPTR(2) [POINTER TO LINE BUFFER
3L9W LDX 5 ANUMCHA(2)
3LPG ADN 2 CLBFIR [POINTER TO 1ST CHAR
3M96 LDX 4 WIN(1) [THIS WORD SAYS ' NI '
3MNQ LDN 1 4
3N8B X10 DCH 4 0(3) [ THIS SECTION
3NN2 BCHX 3 £ [ DEPOSITS THE
3P7L ADN 0 1 [ CHARACTERS ' IN '
3PM= SRL 4 6 [ IN THE COMDAT/CINC
3Q6W BCT 1 X10 [ BLOCK
3QLG LDX 1 FX1 [RESTORE X1
3R66 BRN X2 [GO TO STORE CHARACTERS OF VERB
3RKQ X5 LDCH 4 0(2) [THIS SECTION LOOKS FOR THE
3S5B BCHX 2 £ [TERMINATION OF THE VERB
3SK2 TXU 4 SPACE(1)
3T4L BCS XOP
3TJ= DCH 4 0(3) [DUMP SPACE CHARACTER AS SEPARATOR
3W3W SMO FX2
3WHG LDXC 4 AWORK2
3X36 BCC X4 [J IF NO0 'CANCEL'
3X=Y ... SLL 4 1
3XGQ SMO FX2
3Y2B ... STO 4 AWORK2 [CLEAR MARKER
3YG2 BCHX 3 £ [AND GO ROUND AGAIN
3Y^L ADN 0 1
3^F= BCT 5 X6
3^YW GEOERR 1,NOTCANCL
42DG ...X6 ORX 0 GSIGN
42Y6 ... BRN X2 [JUMP OUT NOW
43XB X3 LDCH 4 0(2) [ THIS SECTION
44C2 BCT 5 £
44WL BCHX 2 £ [ READS THROUGH
45B= TXU 4 SPACE(1) [ THE LABEL
45TW BCS X3 [ IF PRESENT
46*G X2 LDCH 4 0(2) [ THIS SECTION
46T6 BCT 5 £
47#Q BCHX 2 £ [ THROWS AWAY
47SB TXU 4 SPACE(1) [ SPACES UNTIL
48#2 BCC X2 [ IT ENCOUNTERS
48RL BNG 0 X7 [IF REPEATING FOR CANCEL,
49?= [DON'T TEST FOR LABEL
49QW TXL 4 TEN(1) [ A VERB OR
4==G BCS X3 [ A LABEL
4=Q6 X7 ADN 5 1
4?9Q XOP DCH 4 0(3) [ THIS SECTION
4?PB BCHX 3 £ [ DEPOSITS THE VERB
4#92 ADN 0 1 [ IN THE COMDAT/CINC
4#NL BCT 5 X5
4*8= X4 LDX 2 7 [RESTORE POINTER TO CPB/CALAS BLOCK
4*MW BNZ 6 X1 [J IF NOT CPL 0
4B7G SMO FX2
4BM6 LDX 4 CONTEXT [LOAD CONTEXT
4C6Q ANDN 4 32
4CLB BZE 4 NOUGHT [J IF NOT PAPER TAPE OR CARD READER
4D62 LDN 2 UNIT(1) [ THIS SECTION MOVES 'ON UNIT'
4DKL MVCH 2 9 [ TO THE COMDAT/CINC
4F5= ADN 0 9 [ BLOCK
4FJW #SKI 199-99
6C5L TRACE EXT(2),COMERR
6CK= SP2
6D4W LDX 6 GSIGN
6DJG ORS 6 EXT+8(2)
6F46 LDX 6 EXT+3(2)
6FG9 ...ZUP
6FHQ BZE 6 WCOMERR [J IF COMERR ENTRY
6G3B ...ZUP1 UP
6GH2 WCOMERR
6H2L #SKI COMPROMK7
6HG= ACROSS COMPRO,11
6H^W #SKI COMPROMK7<1$1
6JFG ACROSS COMPROB,11
6J^6 SPACE #20
6K8Y ...XCOMMA #34
6KDQ TEN +10
6KYB WIN 4H NI
6LD2 MAGIC +7036875
6LXL PAR 13HIN PARAMETER
6MC= UNIT 9H ON UNIT
6MWW #SKI ADELO
6NBG VERB 8HVERB
6NW6 MENDAREA 40,GAPERROR
6P*Q #END
^^^^ ...12205406000100000000