Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{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]] <code - ERROR867.txt>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 1<CLUSPROPS-1 4G4G ( 4GJ6 LDX 2 FX2 4H3Q LDX 5 CA5(2) [LOAD GEOG NO 4HHB ANDN 5 #77 4J32 MPY 5 MAGIC(1) [MULTIPLY BY 7036875 4JGL LDN 7 7 [COUNT OF 7 4K2= LDN 4 0 4KFW LDN 1 0 4K^G PONT CBD 5 1 [CONVERT CHAR 4LF6 BNZ 1 POGA [J IF NOT ZERO 4LYQ BZE 4 RETA [J IF LEADING ZERO 4MDB POGA LDN 4 1 4MY2 DCH 1 0(3) [DEPOSIT CHAR IN COMDAT/CINC 4NCL ADN 0 1 [UPDATE COUNT 4NX= BCHX 3 £ [UPDATE MODIFIER 4PBW RETA BCT 7 PONT 4PWG LDX 1 FX1 [RESTORE X1 4QB6 ) 4QTQ #SKI CLUSPROPS 4R*B ( 4RT2 LDXC 4 0 [COPY CHAR. COUNT 4S#L LDN 0 0 [CLEAR 'C' 4SS= LDX 2 FX2 4T?W SBX 3 AWORK1(2) 4TRG OUTPERA 4W?6 MHUNTW 1,COMDAT,CINC 4WQQ ADX 3 1 4X=B LDX 7 ACOMMUNE1(2) 4XQ2 LDN 2 ACOMMUNE2(2) 4Y9L POGA LDCH 5 0(2) 4YP= BCHX 2 £ [UPDATE PTR 4^8W DCH 5 0(3) [DEPOSIT IN COMDAT/CINC 4^NG BCHX 3 £ [UPDATE /CINC POINTER 5286 ADN 4 1 [INCREASE COUNT 52MQ BCT 7 POGA 537B BRN N2 53M2 ) 546L NOUGHT 54L= LDXC 4 0 [LOAD COUNT OF CHARS. TO OUTPUT 555W LDN 0 0 [CLEAR 'C' 55KG N2 5656 BNZ 4 X30 [BRANCH IF NOT ZERO 56JQ OUTNULL 574B BRN QUATA 57J2 X30 OUTPARAM 4,A1,COMDAT,CINC [OUTPARAM'IN X IN Y' ETC 583L QUATA 58H= LDX 5 EXT+3(2) 58JS ...#UNS G400 58LB ...( 58MY ... BPZ 5 QUAT [J NOT SPERROR OR DOHIER 58PG ... TXU 5 GSIGN 58R4 ... BCC SP2 [JIF SPERROR MACRO 58SL ... UP [DOHIER EXIT 58W8 ...) 58XQ ...#UNS G400 58^# ...#SKI 592W BNG 5 SP2 [J IF SPERROR MACRO 59GG # 5=26 # 5=FQ # 5=^B # 5?F2 # THE FOLLOWING SECTION FORMS THE SUB MESSAGE 'IN PARAMETER N' 5?YL # AND THEN OUTPARAMS IT.IF NO UNI BLOCK THEN OUTNULLS 5#D= # 5#XW # 5*CG # 5*X6 # 5BBQ QUAT 5BWB LDX 2 FPTR(2) [POINTER TO NEXT BLOCK 5CB2 LDX 5 ATYPE(2) [LOAD TYPE 5CKS ... BXGE 5 CACT,QNULL 5CTL SRL 5 12 5D*= LDN 0 CPB+CALAS 5DSW TXU 5 0 5F#G BCS UNI [J IF NOT CPB/CALAS 5FJ# ...QNULL 5FS6 OUTNULL [OUTNULL BECAUSE NO-UNI BLOCK 5G?Q BRN WICK 5GRB UNI ERN 5 CPB+CUNI 5H?2 BNZ 5 QUAT [J IF NOT UNI-BLOCK 5HQL LDN 4 13 [COUNT OF CHARS 5J== MHUNTW 3,COMDAT,CINC 5JPW LDX 5 JPARNUM(2) [LOAD THE NUMBER OF PARAMETER 5K9G LDN 2 PAR(1) [ADDRESS OF MESSAGE AREA 5KP6 ADN 3 A1 5L8Q MOVE 2 4 [MOVE INTO COMDAT,CINC 5LNB ADN 3 3 [ UPDATE THE 5M82 BCHX 3 £ [ CHARACTER MODIFIER 5MML MPY 5 MAGIC(1) [ TURN INTO DOUBLE LENGTH NUMBER 5N7= LDN 7 7 [COUNT FOR NUMBER OF CHARACTERS 5NLW LDN 1 0 5P6G LDN 0 0 [MARKER FOR ZERO SUPPRESSION 5PL6 PINT CBD 5 1 [CONVERT 5Q5Q BNZ 1 POG [J IF NON ZERO 5QKB BZE 0 RETURN 5R52 POG LDN 0 1 5RJL DCH 1 0(3) [ THIS SECTION STORES 5S4= ADN 4 1 [ THE PARAMETER NUMBER 5SHW BCHX 3 £ [ IN THE COMDAT/CINC BLOCK 5T3G RETURN 5TH6 BCT 7 PINT 5W2Q OUTPARAM 4,A1,COMDAT,CINC [OUTPUT THE SUB MESSAGE 5WGB WICK VFREEW COMDAT,CINC 5X22 # 5XFL # 5X^= # 5YDW # 5YYG # THE FOLLOWING ROUTINE DETERMINES THE SUB-MESSAGE AND OUTPUTS IT 5^D6 # IF NO SUB-MESSAGE OUTNULLS 5^XQ # 62CB # 62X2 # 63BL # 63W= LDX 4 EXT+1(2) [LOAD SUB-MESSAGE INDICATOR 64*W BNG 4 ZY [J IF THERE ISN'T ONE 64TG OUTMESSX 4 65*6 BRN WP 65SQ ZY LDX 2 FPTR(2) [ THIS SECTION 66#B LDX 5 ATYPE(2) 66S2 SRL 5 12 [ A CPB/CALAS 67?L LDN 0 CPB+CALAS [ BLOCK AND EXITS 67R= TXU 5 0 [ IF THERE 68=W BCS NOTCPB [ IS ONE 68QG NULLP OUTNULL 69=6 BRN WP 69PQ NOTCPB 6=9B ERN 5 CPB+CUNI 6=P2 BNZ 5 ZY [J IF NOT UNI BLOCK 6?8L LDX 5 ANUM(2) [LOAD NO OF CHARS 6?N= BZE 5 NULLP [J IF NULL PARAMETER 6#7W BNG 5 NULLP [J IF NO PARAMETER 6#MG ANDN 5 #7777 [RETAIN NO OF CHARS 6*76 OUTPARAM 5,APARA,CPB,CUNI 6*LQ WP 6B6B MONOUTX EXT(2) 6BL2 #SKI K6ALLGEO>99-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 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In