{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: TRAPLIST864)}}
====== TRAPLIST864 ======
(George Source)
**Macros used:** [[george:macro:ABANDCOM|ABANDCOM]], [[george:macro:BS|BS]], [[george:macro:BXU|BXU]], [[george:macro:CATMASK|CATMASK]], [[george:macro:CLOSE|CLOSE]], [[george:macro:CLOSEABANDON|CLOSEABANDON]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:COMBRKIN|COMBRKIN]], [[george:macro:COMERR|COMERR]], [[george:macro:CREATEB|CREATEB]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:ERROR|ERROR]], [[george:macro:FINDFEXTRA|FINDFEXTRA]], [[george:macro:FINDWFN|FINDWFN]], [[george:macro:FJOCA|FJOCA]], [[george:macro:FNORM|FNORM]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:JBC|JBC]], [[george:macro:LOGACCESS|LOGACCESS]], [[george:macro:MASK|MASK]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:OPENDIR|OPENDIR]], [[george:macro:OUTMON|OUTMON]], [[george:macro:READ|READ]], [[george:macro:REPALLER|REPALLER]], [[george:macro:REPERR|REPERR]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP2|SETREP2]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:STEP|STEP]], [[george:macro:TESTBRKIN|TESTBRKIN]], [[george:macro:TESTRACE|TESTRACE]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TRACE|TRACE]], [[george:macro:TRANSBEG|TRANSBEG]], [[george:macro:TRANSFIN|TRANSFIN]], [[george:macro:UNIFREE|UNIFREE]], [[george:macro:USEROPEN|USEROPEN]], [[george:macro:VFREE|VFREE]]
22FL ... SEG TRAPLIST,85,FILESTORE [P.R. CRUICKSHANK,FILE
22^= ...
23DW ...# THIS SEGMENT IMPLEMENTS THE TRAPLIST (TL)
23YG ...# COMMAND, OUTPUTING EITHER TO MONITORING
24D6 ...# FILE OR SPECIFIED FILE. ERRORS ARE REPORTED
24XQ ...# WHEN A USER ATTEMPTS TO ASCRTAIN THE ACCESS
25CB ...# OF ANOTHER USER IN ANOTHER USER'S FILE.
25X2 ...# USE OF AWORK WORDS :
26BL ...# AWORK1 ... NUMBER OF TRAP RECORDS
26W= ...# ONE FINTER BLOCK FOR EACH RECORD
27*W ...
27TG ... SEGENTRY K1TRAPLIST,XLISTRAP
28*6 ...PARA1
28SQ ... 8H,GROUP
29#B ...
29S2 ...PARA2
2=?L ... 8H,ALL
2=R= ...
2?=W ...PARA3
2?QG ... 8H,ERASE
2#=6 ... 8H,WRITE
2#PQ ... 8H,APPEND
2*9B ... 8H,READ
2*P2 ... 8H,EXECUTE
2B8L ...
2BN= ...MASK
2C7W ... CATMASK FILES,COMMENT [ USED TO CHECK TRACING LEVELS
2CMG ...
2D76 ...NUSERP
2DLQ ... 40HNO USER IS PERMITTED ACCESS TO THIS FILE
2F6B ...
2FL2 ...#
2G5L ...# SUBROUTINE TO CHECK FILE NAME PARAMETERS
2GK= ...# ENTRY X3->CPB/CUNI BLOCK, EXIT SAME, LINK X6
2H4W ...# FILE/FABSNB BLOCK CREATED
2HJG ...#
2J46 ...
2JHQ ...SCHECKPAR
2K3B ... SBX 6 FX1 [ SET LINK RELATIVE
2KH2 ... NAMETOP 3,FILE,FNAME [ RENAME FOR FNORM
2L2L ...#
2LG= ...# IF ADJUNCTS ARE PRESENT IN THE FILENAME, THEY ARE ANALYSED
2L^W ...# THE INFORMATION PUT INTO A FILE/ADJUNCTS BLOCK AND THE
2MFG ...# REPLY ADJUNCTS GIVEN. IN THE CASE OF A WORKFILE
2M^6 ...# SET UP A 10 WORD FILE/FABSNB CONTAINING THE
2NDQ ...# WORKFILE NAME. OTHERWISE, CONVERTS A FILE NAME FROM
2NYB ...# ITS EXTERNAL WRITTEN FORM TO A FILE ABSOLUTE NAME
2PD2 ...#
2PXL ... FNORM 3 [ ERRORS REPORTED
2QC= ... TESTREP2 NAMEFORM,SERROR [ J - IF ERROR IN PARAMETER
2QWW ... MHUNT 3,FILE,FNAME
2RBG ... NAMETOP 3,CPB,CUNI [ RENAME FOR ANY ERROR MESSAGES
2RW6 ... ADX 6 FX1 [ RESET LINK
2S*Q ... EXIT 6 0 [ END CHECKPARAM ROUTINE
2STB ...#
2T*2 ...# FREE REMAINING FILE.FINTER BLOCKS ROUTINE
2TSL ...#
2W#= ...SFREEFINT
2WRW ... SMO FX2
2X?G ... LDX 5 AWORK1 [ NUMBER OF TRAPS RECORDS
2XR6 ... BZE 5 SFEXIT [ J - IF NONE LEFT
2Y=Q ...SFREELP
2YQB ... MFREE FILE,FINTER [ FREE NEXT ONE
2^=2 ... BCT 5 SFREELP
2^PL ...SFEXIT
329= ... EXIT 6 0 [ END OF FREE FINTER ROUTINE
32NW ...#
338G ...# FREE CPB.CUNI BLOCK ROUTINE
33N6 ...#
347Q ...SFREEUNI
34MB ... UNIFREE
3572 ... EXIT 6 0 [ END OF FREE UNI ROUTINE
35LL ...#
366= ...# FREE FILE.FABSNB & FILE.ADJUNCTS BLOCK ROUTINE
36KW ...#
375G ...SFREEFAB
37K6 ... VFREE FILE,FABSNB
384Q ... VFREE FILE,ADJUNCTS [ MAY NOT BE THERE
38JB ... EXIT 6 0 [ END OF FREE FAB ROUTINE
3942 ...
39HL ...#
3=3= ...# OUTPUT TO FILE/MONITORING FILE ROUTINE
3=GW ...# X7 -VE MEANS O/P TO FILE . X6 = LINK
3?2G ...# X1=FX1, X2=FX2
3?G6 ...#
3?^Q ...SOUTPUTF
3#FB ... SBX 6 FX1 [ SET LINK RELATIVE
3#^2 ... BNG 7 STARTOP [ J - IF NOT M/F
3*DL ...#
3*Y= ...# CHECK TRACING LEVELS OF M/F
3BCW ...#
3BXG ... TESTRACE MASK(1),SNCCF [ NOT COMMENT NOR FILE CATAGORY
3CC6 ... BRN STARTOP
3CWQ ...SNCCF
3DBB ... MONOUT JMTRACE1 [ CURRENT TRACING LEVELS NOT OKAY
3DW2 ... ADX 6 FX1
3F*L ... EXIT 6 0 [ TRACE ERROR EXIT
3FT= ...#
3G#W ...# SET UP BUFFER FOR O/P LINES 18 WORDS LOG LEN
3GSG ...# DATA WORD 1 = ":" RED TAPE 0 = REC LENGTH, 1 = #41
3H#6 ...#
3HRQ ...STARTOP
3J?B ... SETNCORE 18,3,FILE,FWB [ X3 -> BLOCK
3JR2 ... LDN 0 #41 [ PFCC
3K=L ... STO 0 A1+1(3) [ STORED IN 2ND RED TAPE WORD
3KQ= ... LDCT 0 #120 [ ":"
3L9W ... STO 0 A1+2(3) [ STORED IN 1ST DATA WORD
3LPG ...#
3M96 ...# CHECK NO OF TRAPS RECORDS (X5)
3MNQ ...#
3N8B ... LDX 5 AWORK1(2) [ NUMBER OF TRAPS RECORDS
3NN2 ... TRACE 5,NU TRAPS
3P7L ... BZE 5 SNOTRAPS [ J - IF NOTRAPS
3PM= ...#
3Q6W ...# TRAPS RECORDS BLOCK LOOP. CONVERTS TRAPS RECORD IN FINTER
3QLG ...# BLOCK TO CHAR FORM IN FWB. FREES FINTER BLOCK AND OUTPUTS
3R66 ...# FWB TO FILE (MONITORING FILE) . X5 = COUNT,X6 = LINK,X7 =0 IF NOT
3RKQ ...# X0 = COUNT OF WORDS USED IN FWB
3S5B ...#
3SK2 ...STRBL
3T4L ... MHUNT 2,FILE,FINTER [ NEXT TRAPS RECORD BLOCK
3TJ= ... MHUNT 3,FILE,FWB [ REHUNT BUFFER BLOCK
3W3W ... LDX 4 A1+4(2) [ TRAP MODES OPEN
3WHG ...#
3X36 ...# MOVE ACROSS INTO FWB
3XGQ ...#
3Y2B ... ADN 2 A1+1 [ START OF USERNAME
3YG2 ... ADN 3 A1+2 [ WORD IN BUFFER CONTAINING ":"
3Y^L ... LDCT 0 #200 [ SPECIFY CHAR POSITION 1
3^F= ... ORX 3 0 [ READY FOR MVCH
3^YW ... MVCH 2 12 [ MOVE IN USERNAME
42DG ... MFREE FILE,FINTER [ FREE FINTER BLOCKS ( ONE BY ONE)
42Y6 ...# DECREMENT AWORK1 IN CASE OF BREAKINS
43CQ ... LDX 0 5 [ NUMBER OF REMAINING TRAPS RECORDS + 1
43XB ... SBN 0 1
44C2 ... SMO FX2
44WL ... STO 0 AWORK1
45B= ...#
45TW ...# DECODE TRAP RECORDS X3 -> CURRENT CHAR IN FWB
46*G ...#
46T6 ... LDN 0 6 [ X0 ACCUMULATES RECORD SIZE
47#Q ... BPZ 4 SNGRP [ J - IF NOT GROUP TRAP
47SB ... ADN 0 2 [ 2 WORDS FOR " GROUP "
48#2 ... LDN 2 PARA1(1) [ ADDREASS OF CHAR STRING
48RL ... MVCH 2 8 [ MOVE TO FWB
49?= ...SNGRP
49*F ... ANDN 4 #37 [ REMOVE ALLBUT TRAP BITS
49CN ...#
49FX ...# INCASE WE OBTAIN A TRAPS RECORD WHICH HAS NO TRAP BITS SET
49J6 ...# WE DEFAULT TO "ALL".
49L* ...#
49NJ ... BZE 4 SALLTRAPS [ SOMETHING WRONG WITH TRAPS RECORD
49QW ... LDN 2 #37 [ TEST FOR ALL
4==G ... BXU 2 4,SNALL [ J - IF NOT " ALL "
4=G# ...SALLTRAPS
4=Q6 ... ADN 0 2 [ 2 WORDS FOR " ALL "
4?9Q ... LDN 2 PARA2(1) [ ADDRESS OF CHAR STRING
4?PB ... MVCH 2 8 [ MOVE TO FWB
4#92 ... BRN STRAPSDONE [ J TO TRAP MODES DONE
4#NL ...#
4*8= ...# LOOP TO CHECK ALL TRAPS
4*MW ...#
4B7G ...SNALL
4BM6 ... SLL 4 18 [ ERASE TRAP AT B1 ETC...
4C6Q ... LDN 2 PARA3-2(1) [ ADDRESS OF TRAPS STRINGS
4CLB ...STRAPSL1
4D62 ... ADN 2 2 [ TRAP ABSENT CASE
4DKL ...STRAPSL
4F5= ... SLL 4 1 [ NEXT TRAP BIT
4FJW ... BPZ 4 STRAPSL1 [ J - IF B0 NOT SET
4G4G ... ADN 0 2 [ 2 WORDS FOR TRAP STRING
4GJ6 ... MVCH 2 8 [ MOVE ACROSS STRING
4H3Q ... ERX 4 GSIGN [ REMOVE BIT
4HHB ... BZE 4 STRAPSDONE
4J32 ... BRN STRAPSL
4JGL ...#
4K2= ...# NO TRAPS RECORDS , X3 -> FWB
4KFW ...#
4K^G ...SNOTRAPS
4LF6 ... LDN 2 NUSERP(1) [ MESSAGE ADDRESS
4LYQ ... ADN 3 A1+2 [ POINTS TO 1ST DATA WORD IN FWB
4MDB ... MOVE 2 10 [ 10 WORDS OF MESSAGE
4MY2 ... LDN 0 12 [ 12 WORDS OF DATA
4NCL ... LDN 5 1 [ FOR BCT TO TERMINATE LOOP
4NX= ... BRN SNTDONE [ NO TRAPS DONE [ J - IF NO MO
4PBW ...
4PWG ...#
4QB6 ...# TRAPS DONE, FWB ALMOST READY ( SPACE FILL LAST CHARACTER
4QTQ ...#
4R*B ...STRAPSDONE
4RT2 ... LDN 2 ACES [ SPACE FILLING CHARACTERS
4S#L ... MVCH 2 3 [ MOVE ACROSS SPACE FILLING CHAR
4SS= ...#
4T?W ...# X3 SHOULD NOW POINT TO 1ST CHAR OF 1ST UNUSED WD OF FWB
4TRG ...# EXCEPT IN THE NO TRAPS CASE
4W?6 ...#
4WQQ ...SNTDONE
4X=B ... BNG 7 SFILE [ J - IF NOT MONITORING FILE
4XQ2 ... SLL 0 2 [ NO CHARS IN MESSAGE
4Y9L ... SBN 0 8 [ OMIT A1 & PFCC WORDS
4YP= ... OUTMON 0,A1+2,MASK(1),FILE,FWB
4Y^4 ... TESTBRKIN XBREAKIN2 [ TEST IF USER HAS BROKEN IN
4^8W ... BRN SBCTEST [ J TO BCT TEST ON X5
4^NG ...SFILE
5286 ... LDX 2 0 [ FOR RECORD HEADER
52MQ ... MHUNT 3,FILE,FWB [ REHUNT FWB
537B ... STO 2 A1(3) [ RECORD HEADER
53M2 ... STEP ,0(2),XBREAKIN [ X3 -> PLACE IN FUWB
546L ... TESTREP2 FILEFULL,XFILEFULL [ FILE FULL CASE
54L= ...#
555W ...# NOW WE MOVE ACROSS THE RECORD
55KG ...#
5656 ... MHUNT 2,FILE,FWB [ X2 -> FWB
56JQ ... ADN 2 A1 [ MOVING RECORD FROM
574B ... SMO 0(2) [ NUMBER OF WORDS TO MOVE
57J2 ... MOVE 2 0
583L ...SBCTEST
58H= ... BCT 5 STRBL [ X5 +VE MORE TRAPS RECORDS
59GG ... MFREE FILE,FWB
5=26 ... ADX 6 FX1 [ RESTORE LINK
5=FQ ... EXIT 6 0 [ END OF SOUTPUTF ROUTINE
5=^B ...#
5?F2 ...
5?YL ...
5#D= ...
5#XW ...#
5*CG ...# ****************************************
5*X6 ...#
5BBQ ...# ENTRY POINT TO ANALYSE PARAMETERS
5BWB ...#
5C3J ...# ****************************************
5C8Q ...#
5CB2 ...XLISTRAP
5CF6 ... FSHCODE B,SKIPINA1
5CJ= ...(
5CMB ... TRANSBEG FSHTRAPID,TRAPLIST,1,CLB,,ACOMMUNE1
5CQG ... BRN TOMONOUT [ RETURN TO DO MONOUT
5CTL ... BRN TOENDCOM [ OR TO ENDCOM
5CYQ ... BRN TOCOMBRK [ OR FOR COMBRKIN
5D3W ... BRN TOABAND [ OR TO ABANDCOM
5D72 ...SKIPINA1
5D=6 ...)
5D*= ... STOZ AWORK1(2) [ FOR NUMBER OF TRAP RECORDS
5DSW ... SPARAPASS [ PASS ENTRANT PARAMATER
5F#G ... MHUNT 3,CPB,CUNI
5FS6 ...#
5G?Q ...# IF NULL ANUM = 0, IF NON EXISTANT ANUM = -1
5GRB ...#
5H?2 ... NGX 0 ANUM(3)
5HQL ... BNG 0 YESENTRY [ J - IF THERE IS A PARAM
5J== ... COMERR JPARMIS,JFENTRANT [ FILENAME PARAM MISSING
5JPW ...YESENTRY
5K9G ... CALL 6 SCHECKPAR [ CHECK FILENAME
5KP6 ... MHUNT 3,FILE,FABSNB
5L8Q ...#
5LNB ...# TEST TO SEE IF TRAPLISTING A WORKFILE.
5M82 ...#
5MML ... BS 3,BFABANY [ ANY ENTRANT ACCEPTABLE
5N7= ... JBC NOTWF,3,BFABWORK [ J - NOT WORKFILE
5NLW ...#
5P6G ...# IN THE WORKFILE CASE, WE HAVE TO SET UP OUR OWN FILE.FINTER
5PL6 ...# (5 WDS) BLOCK AND PUT THE JOB'S USERNAME AND THE WORKFILE'S
5Q5Q ...# TRAPWORD IN THE FEXTRA BLOCK. ALSO WE SET AWORK1 TO 1.
5QKB ...#
5SHW ... FINDWFN ,2 [ X2-> FCB OF WORKFILE
5T3G ... FINDFEXTRA 2,2 [ X2 -> FEXTRA OF WORKFILE CONTAINS TRAPS
5TH6 ... LDX 5 FWORKTRAP(2)
5TN# ... BZE 5 XCLEARUP1 [ IF TRAPWORD IS ZERO
5TTG ... SETNCORE 5,3,FILE,FINTER [ X3 -> FILE FINTER TO STORE TRAPS
5W2Q ... STO 5 A1+4(3) [ STORE TRAPS IN FINTER BLOCK
5WGB ... FJOCA 2,FX2 [ X2 -> JOB BLOCK
5X22 ... LDN 2 JUSER(2) [ X2-> JOB'S USERNAME
5XFL ... ADN 3 A1+1 [ X3 -> START OF U.N IN FINTER BLOCK
5X^= ... MOVE 2 3 [ MOVE ACROSS U.N INTO FINTER
5Y57 ... LDN 0 1
5Y94 ... SMO FX2
5Y#^ ... STO 0 AWORK1 [ 1 TRAPS RECORD
5YDW ... BRN XCLEARUP1
5YYG ...NOTWF
5^D6 ...#
5^XQ ...# OPEN DIRECTORY IN MODE READ (QUERY)
62CB ...#
62X2 ... OPENDIR XBREAKIN1,READ,QUERY
63BL ...#
63W= ...# IF NAME RECORD IS FOUND, BLOCK FILE/ENT SET UP
64*W ...# CONTAINING IT
64TG ...#
65*6 ... TESTRPN2 OK,REPERROR [ J - IF NOT OPEN OKAY
65SQ ... OWNERCHECK [ CHECK IF OWNER X2 -> FX2
66#B ... TESTREP2 OK,OKOWNED [ J - IF OWNED
66S2 ... SETREP2 NOTOWN
67?L ... BRN REPERROR
67R= ...OKOWNED
67WB ...#UNS ILOGACC
67^G ...(
684L ... LOGACCESS 10
687Q ...)
68=W ... MHUNT 3,FILE,ENT [ HUNT NAME RECORD
68QG ... LDX 7 ENUSE(3) [ STORE NUMBER OF TRAPS RECORDS
69=6 ... STO 7 AWORK1(2) [ IN AWORK1
69PQ ... BZE 7 XCLEARUP [ J - IF NO TRAPS RECORDS
6=9B ... JBC NOINDX,3,BEINDEX [ J - IF NO INDEX RECORD
6=P2 ... STEP [ STEP OVER INDEX RECORD
6?8L ...NOINDX
6?N= ... READ [ GET NEXT TRAPS RECORD
6#7W ... MHUNT 3,FILE,FRB [ HUNT TRAPS RECORD BUFFER
6#MG ... NAMETOP 3,FILE,FINTER [ RENAME - SO IT REMAINS THERE
6*76 ... BCT 7 NOINDX
6*LQ ...#
6B6B ...# CLEAR UP BLOCKS AND CLOSE DIRECTORY
6BL2 ...#
6C5L ...XCLEARUP
6CK= ... CLOSETOP
6D4W ... MFREE FILE,ENT
6DJG ...XCLEARUP1
6F46 ... CALL 6 SFREEUNI
6FHQ ... CALL 6 SFREEFAB
6G3B ...#
6GH2 ...# NOW CHECK SECOND PARAMETER (FILENAME)
6H2L ...#
6HG= ... SPARAPAS [ NEXT PARAMETER
6H^W ... MHUNT 3,CPB,CUNI
6JFG ...#
6J^6 ...# IF NULL OR NON EXISTANT SEND TO MONITORING
6KDQ ...# FILE ELSE SEND TO SPECIFIED FILE AFTER CHECKING
6KYB ...#
6LD2 ... NGX 7 ANUM(3) [ ANUM -VE IF NON EXISTANT ,0 IF NULL
6LXL ... BNG 7 YESFILE [ J - IF FILENAME PRESENT
6MC= ...#
6MWW ...# X7 IS USED AS A FLAG (-VE IF FILE) ELSE MONITORING FILE
6NBG ...#
6NDP ... FSHCODE A,SKIPINB1
6NGY ...(
6NK7 ... TRANSFIN ,,ALIEN
6NMB ...SKIPINB1
6NPK ...)
6NRS ...TOMONOUT
6NW6 ... CALL 6 SOUTPUTF [ M/F OUTPUT
6P*Q ... BRN SFINISHED
6PTB ...#
6Q*2 ...# PARAM 2 NOT NULL, CHECK FILENAME AS BEFORE
6QSL ...# X3-> CPB/CUNI BLOCK
6R#= ...#
6RRW ...YESFILE
6S?G ... CALL 6 SCHECKPAR [ CHECK FILENAME
6SR6 ... CREATEB 2 [ CREATES FILE/CREATES (X2->)
6T=Q ... LDCT 0 #400
6TQB ... ORN 0 #12
6W=2 ... STO 0 CETM(2) [ INDICATES GRAPHIC MODE FILE
6WPL ... BS 2,CESERIAL [ MAINLY FOR WORKFILES
6X9= ...#
6XNW ...# OPEN FILE
6Y8G ...#
6YN6 ... USEROPEN XBREAKIN1,APPEND,CREATE,EMPTY
6^7Q ... REPERR OPENOK
6^MB ... BRN SFINISHED
7272 ...#
72LL ...# OUTPUT FILE READY FOR APPENDING
736= ...#
73KW ...OPENOK
745G ... CALL 6 SOUTPUTF [ FILE OUTPUT
74K6 ...#
754Q ...# CLOSE FILE
75JB ...#
7642 ... CLOSE
76HL ... BRN SFINISHED
76JN ...#
76KQ ...# BREAKIN WITH FILE OPEN DURING A STEP.
76LS ...#
76MW ...XBREAKIN
76NY ... TRACE 5,TL BRKIN
76Q2 ... CLOSE [ THE OUTPUT FILE
76R4 ...#
76S6 ...# BREAKIN DURING OUTPUT TO MONITORING FILE
76T8 ...#
76W= ...XBREAKIN2
76X# ... MFREE FILE, FWB
76YB ... CALL 6 SFREEFINT
76^D ... CALL 6 SFREEUNI
772G ... CALL 6 SFREEFAB
772L ... FSHCODE A,SKIPINB4
772Q ...(
772W ... LDN 7 3
7732 ... TRANSFIN 7,,ALIEN
7736 ...SKIPINB4
773= ...)
773B ...TOABAND
773J ... ABANDCOM [ NON-RESTARTABLE
774L ...#
775N ...# BREAKIN DURING USEROPEN, CLEAR UP BLOCKS
776Q ...#
777S ...XBREAKIN1
778W ... CALL 6 SFREEFINT
779Y ... CALL 6 SFREEUNI
77?2 ... CALL 6 SFREEFAB
77?6 ... FSHCODE A,SKIPINB3
77?= ...(
77?B ... LDN 7 2
77?G ... TRANSFIN 7,,ALIEN
77?L ...SKIPINB3
77?Q ...)
77?W ...TOCOMBRK
77#4 ... COMBRKIN [ RESTARTABLE
77*6 ...
77B8 ...#
77C= ...# OUTPUT FILE FULL
77D# ...#
77FB ...XFILEFULL
77GW ... TRACE 2,TL FILEF
782G ... MFREE FILE,FWB [ IN THE CASE OF FILE FULL
7849 ... CLOSEABANDON
785Y ... CALL 6 SFREEFINT
787M ... CALL 6 SFREEFAB
789B ... COMERR ERTOOBIG
78?5 ...
78#S ...#
78BH ...# CLEAR UP BLOCKS AND FINISH
78D= ...#
78G6 ...
78^Q ...REPERROR
79FB ... REPALLER
79^2 ...SERROR
7=DL ... TRACE 2,TL ERROR
7=Y= ...SFINISHED
7?CW ... CALL 6 SFREEFINT
7?XG ... CALL 6 SFREEUNI
7#C6 ... CALL 6 SFREEFAB
7#F4 ... FSHCODE A,SKIPINB2
7#H2 ...(
7#JY ... LDN 7 1
7#LW ... TRANSFIN 7,,ALIEN
7#NS ...SKIPINB2
7#QQ ...)
7#SN ...TOENDCOM
7#WQ ... ENDCOM
7*BB ...#
7*W2 ...#END
7B*L ...#
^^^^ ...112721230001