{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CHINERR867)}} ====== CHINERR867 ====== (George Source) **Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:COMBRKIN|COMBRKIN]], [[george:macro:COMERR|COMERR]], [[george:macro:COMERRX|COMERRX]], [[george:macro:EXMESS|EXMESS]], [[george:macro:FPCACA|FPCACA]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETWORD|GETWORD]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:LONGSET|LONGSET]], [[george:macro:LONGSTOP|LONGSTOP]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFINDEXOF|MFINDEXOF]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:PROGBRKIN|PROGBRKIN]], [[george:macro:RELST|RELST]], [[george:macro:RUNPROG|RUNPROG]], [[george:macro:RV|RV]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:STEPBACK|STEPBACK]], [[george:macro:TAB|TAB]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTREPNOT|TESTREPNOT]], [[george:macro:TWAIT|TWAIT]], [[george:macro:UNLOCKSU|UNLOCKSU]], [[george:macro:UP|UP]], [[george:macro:WORDFIN|WORDFIN]] 22?Q ...#SEG CHINERR867 22KH ...# 22PD ...# COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 22T* ...# 22^= #LIS K0CHINERR 23DW 8HCHINERR 23YG # 24D6 # 24XQ SEGENTRY K1CHINERR,QK1CHINERR 25CB SEGENTRY K2CHINERR,QK2CHINERR 25X2 SEGENTRY K3CHINERR,QK3CHINERR 26BL SEGENTRY K4CHINERR,QK4CHINERR 26W= SEGENTRY K5CHINERR,QK5CHINERR 278M ... SEGENTRY K7CHINERR,QK7CHINERR 279G ... SEGENTRY K8CHINERR,QK8CHINERR [REDUNDANT 27=* ... SEGENTRY K9CHINERR,QK9CHINERR [REDUNDANT 27?8 ... SEGENTRY K10CHINERR,QK10CHINERR [REDUNDANT 27#3 ... SEGENTRY K11CHINERR,QK11CHINERR [REDUNDANT 27#W ... SEGENTRY K12CHINERR,QK12CHINERR [REDUNDANT 27*W # 27TG # 28SQ # 29#B # TABLE FOR SORTING OUT OPEN ERRORS 29S2 # EACH ENTRY IS 3 WORDS,(1) MASK FOR ERROR MARKER IN EMARK 2=?L # (2) MESS ) TO BE USED IF ERROR 2=R= # (3) REPLY) MARKER(1) IS PRESENT 2?=W # TABLE HAS A ZERO TERMINATOR 2?QG # 2#=6 TAB +ANONL,+0,+6 [UNIT NOT ONLINE 2#PQ +ARITE,+0,#440:0 [WRITE FAIL ETC 2*9B +AINUSE,+2,+1 [NAME IN USE 2*P2 +ANOROOM,+2,+0 [NO ROOM (CREATE) 2B8L +ANFOUND,+1,+1 [FILE NOT FOUND 2BN= +AFAIL,+0,#440:0 [READ FAIL 2C7W +0 [TERMINATOR 2CMG # 2D76 # 2DLQ # TABLE OF COMMAND ERRORS,ACCESSED USING MESS AS MODIFIER 2F6B # (APPLIES TO OPEN ONLY) 2FL2 # 2G5L TCER +EWNOTFX [NOT FOUND :MESS=0 2GK= +EWNOTFX [NOT FOUND :MESS=1 2H4W -1 [NOT APPLICABLE TO OPEN :MESS=2 2HJG +EWNOTRX [NOT SUFFICIENTLY TRUSTED:MESS=3 2J46 +EWLOCKX [S-TRUSTED LOCKOUT :MESS=4 2JHQ +EWGEOX [OPEN TO GEORGE :MESS=5 2K3B +EWRPX [RP NOT EXPIRED :MESS=6 2KH2 +EWTWITX 2L^W +ENTIN27 [NO S-TRUSTEDS ON SHARED SPINDLES 2MFG +ENTIN29 [INTEGRITY DUE TO IPB FAIL 2N6# ... +EWTRAPSX [EXOFILE - TRAPS CLOSED 2N=P ... +EWRARE [EXOFILE ENTRY Z DOES NOT EXIST 2N#8 ... +EWEXIS [EXOFILE Z ALREADY EXISTS 2N*M ... +EWCDOP [EXOFILE Z CANNOT BE OPENED 2NCY ...TEWINTEG +EWINTEG 2NDQ # 2NYB # 2PD2 # TABLE OF MESSAGES FOR PERI CASE,ACCESSED AS ABOVE 2PXL # 2QC= TMES 2QWW -1 [NOT APPLICABLE :MESS=0 2RBG +EWNOTF [NOT FOUND :MESS=1 2RW6 +EWCR [NOT CREATED :MESS=2 2S*Q +EWNOTR [NOT SUFFICIENTLY TRUSTED:MESS=3 2STB +EWLOCK [S-TRUSTED LOCKOUT :MESS=4 2T*2 +EWGEO [OPEN TO GEORGE :MESS=5 2TSL +EWRP [RP NOT EXPIRED :MESS=6 2W#= +EWTWIT 2XR6 +ENTIN26 2Y=Q +ENTIN28 2YXJ ... +EWTRAPS [TRAPS CLOSED 2^3^ ... +EWRARITY [EXOFILE ENTRY Z DOES NOT EXIST 2^5D ... +EWEXIST [EXOFILE Z ALREADY EXISTS 2^6X ... +EWCDOPP [EXOFILE Z CANNOT BE OPENED 2^98 ... +EWINTEGX [EXOFILE Z IS IN USE 2^9= ...# 2^9# ...XUNLOCK 2^9B ... SBX 7 FX1 2^9D ... UNLOCKSU 1 2^9G ... MHUNTW 3,EWDAS,GEXD 2^9J ... ADX 7 FX1 2^9L ... EXIT 7 0 2^9N ...# 2^=2 # 2^=J ...# THIS SUBROUTINE IS CALLED WHEN THERE HAS BEEN AN ITEGRITY CODE 2^?6 ...# CHECK FAILURE AND DEALS WITH SUPPRESION OF THE WAIT FOR A FILE 2^?N ...# TO BE AVAILABLE IF THE COMMAND INCLUDED 'REPLY' OR THE 2^#= ...# OPEN MODE INCLUDED MODE #4000 2^#S ...# 2^*B ...SCHECKWAIT 2^*Y ... MHUNTW 2,EWDAS,GEXD 2^BG ... LDXC 0 GIVEX(2) [SEPARATE ACTION FOR COMMANDS AND 2^C4 ... BCC SPERI [OPEN MODE PERI - JIF PERI CASE 2^CL ...# 2^D8 ... MHUNTW 2,EWDAS,EXOF [FIND /EXOF IN ACTIVITY CHAIN 2^DQ ... LDX 0 EXMARK(2) 2^F# ... ANDN 0 BREPQUAL [CHECK IF REPLY QUALIFIER SPECIFIED 2^FW ... BZE 0 (7) [JIF TO WAIT IF NOT REPLY CASE 2^GD ...# 2^H2 ...ZNOWAIT 2^HJ ... LDN 7 2 [OBJECT PROGRAM REPLY AND MESSAGE 2^J6 ... LDN 6 TEWINTEG-TCER [CODES FOR THIS ERROR 2^JN ... BRN ZERROR [AND JOIN STANDARD ERROR PATH 2^K= ...# 2^KS ...SPERI 2^LB ... FPCACA 2,FX2 [FIND THE APET FROM THE CPAT 2^LY ... LDX 0 EVENT4(2) [AND CHECK THE ORIGINAL MODE WORD 2^MG ... ANDN 0 #4000 [FROM THE PROGRAM 2^N4 ... BNZ 0 ZNOWAIT [CAUSE EVENT IF MODE #4000 GIVEN 2^NL ... EXIT 7 0 [ELSE GO BACK TO WAIT 2^PL # 329= # 32NW # 338G # ZOPEN - ERROR REPORTED BY EXOPEN.MARKER FOR ERROR IS 33N6 # IN EMARK OF GEXD (SEE TAB).UNIT IS RELEASED. 347Q # 34MB QK1CHINERR 3572 ZOPEN 35LL EXMESS ALL [OUTPUT MESSAGES,INCLUDING SUPPRESSED 366= MHUNTW 3,EWDAS,GEXD 36KW LDN 0 ABREAK 375G ANDX 0 EMARK(3) 37K6 BNZ 0 ZERB [J IF BREAKIN 37P* ... LDN 0 APLINKF 37QQ ... ANDX 0 EMARK(3) 37S7 ... BZE 0 RNY [J IF NOT PROCESSOR LINK FAIL 37TJ ... MHUNTW 2,EWDAS,EXOF 37W^ ... LDN 4 0 [MKR TO DISTIGUISH WAITING FOR FILE 37YB ... BRN ZIFX [GO TO WAIT FOR IPB OR DEDICATE 37^R ...RNY 384Q ADN 1 TAB [SEARCH TABLE 38JB RNX LDX 0 0(1) 3942 BNZ 0 ROK [J UNLESS END OF TABLE 39HL GEOERR 1,SDEXREP [IF ERROR CODE IN EMARK UNKNOWN 3=3= ROK ANDX 0 EMARK(3) 3=GW BNZ 0 RFND [J IF THIS ERROR CODE PRESENT 3?2G ADN 1 3 [ELSE GO TO LOOK FOR NEXT 3?G6 BRN RNX 3?^Q RFND LDX 6 1(1) [PICK UP MESS AND REPLY VALUES 3#FB LDX 7 2(1) [FOR THIS ERROR 3#^2 BRN XCM [GO TO GENERAL ERROR ROUTINE 3*DL # 3*Y= # 3BCW # ZFAIL - TRANSFER FAIL ON REWRITING FI&P.EXOF CONTAINS 3BXG # NEW GENERATION NUMBER,UNIT IS LOCKED,EXOF HAS BEEN 3CC6 # CHAINED INTO CCB CHAIN,SO MAY HAVE TO BE FREED. 3CWQ # 3DBB QK2CHINERR 3DW2 ZFAIL 3F*L LDX 3 5 3FT= TESTMOVE 6,MFLE 3G#W MHUNTW 3,EWDAS,EXOF [FIND EXOF IF NECESSARY 3GSG MFLE MFINDEXOF 1,4 [FIND EXOF IN CCB CHAIN 3J?B LDX 0 COPEN(1) 3JR2 LDN 6 0 [SET FAIL REPLY AND MESS 3K=L LDCT 7 #440 3KQ= BNZ 0 ZERROR [J IF FILE ALREADY OPEN 3L9W FREECORE 1 [ELSE FREE EXOF 3LPG # 3M96 # 3MNQ # ZERROR - GENERAL ENTRY FOR A FAILED CHECK.MESS AND 3N8B # REPLY CODES ARE IN X6,X7.UNIT IS LOCKED. 3NN2 # 3P7L QK3CHINERR 3PM= ZERROR 3Q6W MHUNTW 2,EWDAS,EXOF 3QLG LDX 5 ASUSN(2) 3R66 UNLOCKSU 5 [UNLOCK AND RELEASE UNIT 3RKQ RELST 5 3SCN ... EXMESS ALL [OUTPUT ANY MESSAGES 3SK2 MHUNTW 3,EWDAS,GEXD 3T4L # 3TJ= # COMMON ERROR ROUTINE 3W3W # 3WHG XCM 3X36 LDX 0 GIVEX(3) 3XGQ BPZ 0 PER [J IF PERI,ELSE 3XMD ... LDX 5 6 [GET MESS MODIFIER 3XP2 ... SBN 5 12 [IS MESS VALUE=12 IE EWINS 3XQJ ... BNZ 5 NEWINS [J IF NOT 3XS6 ... CALL 5 PFILE [PUTS (CSN,FILEN(FGN)) AS %A 3XTN ... MHUNTW 3,EWDAS,GEXD 3XX= ...NEWINS [AND DOESNT INCLUDE REVGEN 3Y2B LDX 4 EOPMODE(3) [COMMAND, 3YG2 SBN 4 #1200 3Y^L FREECORE 3 [FREE BLOCKS 3^F= MFREE EWDAS,EXOF 3^YW BNZ 4 ZOP [J IF OPEN 42DG COMERR EWCRX [COMERR NOT CREATED IF CREATE MODE 42Y6 ZOP SMO 6 43CQ LDX 5 TCER(1) [IF OPEN,GET COMERR FROM TABLE USING 43XB COMERRX 5 [MESS AS MODIFIER,AND REPORT ERROR 44C2 [ PERI CASE, 44WL PER BZE 6 TNOM [JUMP IF NO MESSAGE REQUIRED (MESS=0) 45B= CALL 5 PFILE 45TW SMO 6 46*G LDX 5 TMES(1) [PICK UP MESSAGE IDENTIFIER 46T6 MONOUTX 5 [AND OUTPUT MESSAGE 47#Q TNOM MHUNTW 3,EWDAS,GEXD 47SB LDX 4 EXCHNL(3) 48#2 LDX 5 CNR(3) [C.A ADDRESS 48RL FREECORE 3 49?= MFREE EWDAS,EXOF [FREE BLOCKS 49QW BPZ 7 NFL [FORM PERIPHERAL NAME 4==G ...XPAR LDCT 6 6 4=Q6 ... ADX 6 4 [DEVICE AND CHANNEL 4?9Q ... OUTPACK 6,1,PERINAME,XPAR [*DA FAIL MESSAGE 4F5= NFL ADN 5 1 [REPLY WORD 4FJW GETWORD 5,5,WRITE [OBTAIN ADDRESS 4G4G TESTREPNOT OK,RV 4GJ6 LDCT 6 #400 [SET B0=1 4H3Q ORX 6 7 [X6 CONTAINS REPLY 4HHB SMO 5 4J32 STO 6 0 [SET REPLY 4JGL WORDFIN 4QTQ BNG 7 XIL [J IF FAIL 4R*B RUNPROG [ELSE RESTART PROGRAM 4RT2 XIL ILLEGAL PERFAIL [IF FAIL 4S#L [ 4SS= RV GEOERR 1,SDERV [RV ON REPLY WORD 4T?W # 4TRG # 4W?6 # 4WQQ # 4X=B # 4XQ2 # 4Y9L # ZINTEG - INTEGRITY CODE FAILURE.X1 POINTS TO EXOF IN 4YP= # CCB CHAIN.UNIT IS LOCKED 4^8W # 4^NG # 5286 QK4CHINERR 52MQ MFINDEXOF 1,7 [FIND EXOF IN CCB CHAIN 537B LDCH 5 FIP+5(1) 53M2 SRL 5 4 546L SBN 5 2 54L= FPCACA 2,FX2 555W ZNX LDX 2 ACTRING(2) 55KG SBN 2 ACTRING 5656 LDCH 0 ATYPE(2) 56JQ SBN 0 AOLPT/64 574B BNZ 0 ZOK 57J2 LDX 0 ATMARK(2) 583L SBN 0 1 58H= BNZ 0 ZNX 592W TXU 7 EXNUM(2) 59GG BCS ZNX 5=26 BNG 5 ZFL 5=FQ LDX 0 EXMODE(2) 5=^B SBN 0 #200 5?F2 BNZ 0 ZFL 5?YL BZE 5 ZNX 5#D= BZE 6 ZNX 5#XW ZFL LDN 6 7 5*CG LDN 7 2 5*X6 BRN ZERROR 5BBQ ZOK 5BHY ... CALL 7 SCHECKWAIT [CHECK IF TO WAIT - ONLY RETURNS IF 5BP6 ...# [WAIT IS REQUIRED 5BWB MHUNTW 2,EWDAS,EXOF [AND ONE IN ACTIVITY CHAIN 5CB2 ZINTEG 5CTL LDCT 0 #40 5D*= ORS 0 EXMARK(1) [SET WAITING MARKER IN EXOF IN CCB CH 5DSW ZIF 5F4M ... LDN 4 1 [MKR: WAITING FOR FILE CASE 5F7= ...ZIFX [IPB FAIL ENTRY 5F#G STOZ BACK2(2) 5FS6 STOZ COPEN(2) 5G?Q LDN 0 #7777 [RESET OUR EXOF 5GRB ANDS 0 EXMARK(2) 5H?2 LDX 7 ASUSN(2) [SAVE SERIAL NR 5HKB ... BZE 4 XTWT [J IF IPB FAIL 5HXS ... LONGSET EDFDCLS,XCLNG [SET WAITING STYLE 5J== UNLOCKSU 7 [UNLOCK AND 5JPW RELST 7 [RELEASE UNIT 5K9G EXMESS [PUT OUT ANY MESSAGES 5KP6 CALL 5 PFILE [OUTPUT FILENAME PARAMETER 5P6G LONGSTOP ZERB,,EWFIW [PUT OUT WAITING...AND WAIT FOR CLOSU 5PL6 OUTPARAM 5,FIP+5,EWDAS,EXOF [OUTPUT PARAMETER AGAIN 5Q5Q MONOUT EWFIF [AND NOW AVAILABLE MESSAGE 5QKB ACROSS EXOPEN,2 [OPEN FILE 5R52 # 5RJL XCLNG GEOERR 1,SDCLANG [CLONG FIELDS NOT CLEAR 5S4= # 5TH6 QK5CHINERR 5TM3 ...# 5TQY ... CALL 7 SCHECKWAIT [CHECK IF WE ARE TO WAIT FOR FILE 5TWT ...# [ROUTINE RETURNS IF WAIT REQUIRED 5W2Q MHUNTW 2,EWDAS,EXOF 5WGB BRN ZIF 5WW5 ...# NOW WAIT FOR IPB OR UNIT TO BE DEDICATED 5X22 ...# 5X5X ...XTWT TWAIT 7,ZERB [WAIT BUT TO ZERB IF BREAKIN 5X9S ... ACROSS EXOPEN,2 5XFL # 5X^= # ZERB - BREAKIN 5YDW # 5YYG ZERB 5^D6 MFREE EWDAS,EXOF 5^XQ MHUNTW 1,EWDAS,GEXD [FREE BLOCKS 62CB LDX 3 GIVEX(1) 62X2 FREECORE 1 63BL BPZ 3 ZBP [J IF PERI 63W= COMBRKIN [REPORT COMMAND BREAKIN 64*W [ 64TG ZBP STEPBACK [STEP BACK PROGRAM 65*6 PROGBRKIN [REPORT PROGRAM BREAKIN 65SQ # 66#B # 66S2 # 67?L # SUBROUTINE PFILE - OUTPUTS FILENAME PARAMETER 67R= # LINK=X5 68=W # USES ALL ACCUMULATORS EXCEPT X6,X7 68QG # ON EXIT,X1=FX1,X2=FX2, 69=6 # X5 CONTAINS CHARACTER COUNT 69PQ # PARAMETER IS ASSEMBLED STARTING AT FIP+5 OF EXOF BLOCK; 6=9B # ALL WORDS FROM FIP+5-FIP+14 ARE OVERWRITTEN,OTHER WORDS 6=P2 # ARE UNCHANGED. 6?8L # PARAMETER FORMAT:- (CSN,FILENAME(GEN)) ;IF BUNIT IS NOT 6?N= # SET CSN AND COMMA AND OUTER BRACKETS ARE OMITTED.CSN IS 6#7W # 6 OCTALS.FILENAME HAS TRAILING SPACES REMOVED.GEN IS 6#MG # DECIMAL,LEADING ZEROS OMITTED.IF BHIGH IS SET,GEN AND ITS 6*76 # BRACKETS ARE OMITTED.IF BANY IS SET,GEN IS (4096). 6*LQ # 6B6B PANY 4H4096 [GENERATION NR FOR BANY 6BL2 PTTH +10000 [DIVISOR FOR CONVERSION 6C5L # 6CK= # 6D4W PFILE 6DJG MHUNTW 3,EWDAS,EXOF 6F46 SBX 5 FX1 [RELATIVISE LINK 6FHQ STO 5 FIP+14(3) [AND SAVE 6G3B LDN 2 FIP+5(3) [POINTER FOR PLACING CHARACTERS 6GH2 LDX 0 EXMARK(3) 6H2L ANDN 0 BSERL 6HG= BZE 0 PNS [J IF SERIAL NR NOT SPECIFIED 6H^W LDN 0 #30 6JFG DCH 0 0(2) [ ( 6J^6 BCHX 2 £ 6KDQ LDN 4 6 6KYB LDX 0 ASUSN(3) 6LD2 SLL 0 3 6LXL PSER SLC 0 6 6MC= DCH 0 0(2) [CONVERT SERIAL NR TO 6 OCTITS 6MWW BCHX 2 £ 6NBG SRL 0 3 6NW6 BCT 4 PSER 6P*Q LDN 0 #34 6PTB DCH 0 0(2) [ COMMA 6Q*2 BCHX 2 £ 6QSL PNS LDN 1 FIP(3) [FIND LENGTH OF FILENAME,LESS 6R#= LDN 4 12 [TRAILING SPACES 6RRW PNF LDCH 0 0(1) [NEXT CHAR 6S?G BCHX 1 £ 6SR6 SBN 0 #20 6T=Q BZE 0 PSP [J IF SPACE 6TQB NGX 5 4 [ELSE REMEMBER COUNT 6W=2 PSP BCT 4 PNF 6WPL ADN 5 13 [X5=COUNT FOR FILENAME 6X9= LDN 1 FIP(3) 6XNW SMO 5 6Y8G MVCH 1 0 [MOVE FILENAME TO CURRENT POSITION 6YN6 LDX 0 EXMARK(3) 6^7Q ANDN 0 BHIGH 6^MB BNZ 0 PNG [J IF GENERATION NR NOT SPECIFIED 7272 ADN 5 3 [3 ON COUNT FOR () AND LAST DIGIT 72LL LDN 0 #30 736= DCH 0 0(2) [ ( 73KW BCHX 2 £ 745G LDX 0 EXMARK(3) 74K6 ANDN 0 BANY 754Q BZE 0 PSG [J IF SPECIFIED GENERATION 75JB SMO FX1 [ANY GEN, 7642 LDN 1 PANY 76HL MVCH 1 4 [MOVE IN GEN =4096 773= ADN 5 3 [UPDATE COUNT FOR FIRST 3 DIGITS 77GW BRN PEG 782G PSG 78G6 #SKI K6CHINERR>199-199 78^Q ( 79FB LDX 0 EXMARK(3) 79^2 ANDN 0 BSPEC [SHOULD BE BSPEC 7=DL BNZ 0 PSGOK 7=Y= GEOERR 1,SDGMARK 7?CW PSGOK 7?XG ) 7#C6 STO 7 FIP+13(3) [SAVE X7 7#WQ LDX 7 FIP+4(3) 7*BB SRL 7 12 [GENERATION NR 7*W2 LDN 0 0 7B*L SMO FX1 7BT= DVD 7 PTTH 7C#W LDN 1 0 [CONVERT TO DECIMAL 7CSG ADN 0 1 7D#6 LDN 7 3 [FOR FIRST 3 CHARS, 7DRQ MODE 1 [SET ZERO-SUPPRESION 7F?B PGNX CBD 0 0(2) [CONVERT 7FR2 LDCH 4 0(2) 7G=L SBN 4 #20 7GQ= BZE 4 PGZ [J IF SPACE TO IGNORE IT 7H9W ADN 5 1 [ELSE ADD 1 TO CHAR COUNT 7HPG BCHX 2 £ [AND STEP POINTER 7J96 PGZ BCT 7 PGNX [NEXT 7JNQ MODE 0 [MODE ZEROS FOR LAST CHAR 7K8B CBD 0 0(2) [CONVERT IT 7KN2 BCHX 2 £ 7L7L LDX 7 FIP+13(3) [RESTORE X7 7LM= PEG LDN 0 #31 7M6W DCH 0 0(2) [ ) 7MLG BCHX 2 £ 7N66 PNG LDX 0 EXMARK(3) 7NKQ ANDN 0 BSERL 7P5B BZE 0 PNSA [J IF SERIAL NR NOT SPECIFIED,ELSE 7PK2 ADN 5 9 [ADD 9 FOR (,),COMMA AND CSN 7Q4L LDN 0 #31 7QJ= DCH 0 0(2) [ ) 7R3W PNSA LDX 4 FIP+14(3) 7RHG OUTPARAM 5,FIP+5,EWDAS,EXOF [PUT OUT PARAMETER 7S36 ADX 4 FX1 [RELOCATE LINK 7SGQ EXIT 4 0 [EXIT WITH COUNT IN X5 7T2B # 7T4H ...# 7T5= ...# ENTRY POINT TO OUTPUT CSN LOCAL NAME & GEN 7T5^ ...# NO AND FINALLY THE MESSAGE, BUT NO FRILLS 7T6N ...# 7T7C ...QK7CHINERR 7T86 ... STO 6 AWORK1(2) [PRESERVE MESSAGE IDENTIFIER 7T8T ... MHUNTW 3,EWDAS,EXOF 7T9J ... LDX 7 FIP+4(3) 7T=? ... SRL 7 12 [GEN NO 7T?2 ... LDN 0 ASUSN(3) 7T?P ... LDN 1 3 7T#D ... MOVE 0 4 [SUSN & NAME MOVED TO X3,4,5,6 7T*7 ... OUTPACK 3,1,CSN 7T*W ... OUTPACK 4,3,LOCNAME 7TBK ... OUTPACK 7,1,GENNUM 7TC# ... MONOUTX AWORK1(2) 7TD3 ... UP 7TDR ...# 7TDX ...QK8CHINERR 7TH3 ... GEOERR 1,K8CHIN 7TK7 ...# 7TK? ...QK9CHINERR 7TLC ... GEOERR 1,K9CHIN 7TMH ...# 7TMM ...QK10CHINERR 7TN9 ... GEOERR 1,K10CHIN 7TNR ...# 7TNX ...QK11CHINERR 7TPF ... GEOERR 1,K11CHIN 7TQ3 ...# 7TR3 ...QK12CHINERR 7TSP ... GEOERR 1,K12CHIN 7TWC ...# 7T^L MENDAREA 30,K99CHINERR 7WF= # 7WYW #END ^^^^ ...22355555000200000000