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