{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CLEAN867)}}
====== CLEAN867 ======
(George Source)
**Macros used:** [[george:macro:BBUS|BBUS]], [[george:macro:CLOSE|CLOSE]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:ERASE|ERASE]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETFNAME|GETFNAME]], [[george:macro:HUNT|HUNT]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:RVHOOK|RVHOOK]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TESTHOOK|TESTHOOK]], [[george:macro:UNSETBIT|UNSETBIT]], [[george:macro:UP|UP]]
22=X ... SEG CLEAN,,CENT(COMMAND PROCESSOR),,G400
22HS ...[
22SP ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
235L ...[
23BH ...#UNS G400
23MD ...# THIS CHAPTER IS FOR G3PLUS-IH MK2
23YG [ ENTRY POINT. THIS LOCATION MUST REMAIN FIXED
24D6 SEGENTRY K1CLEAN,QENTRY1
24XQ # THIS SEGMENT IS ENTERED FROM THE MACRO CLEANUP.
25CB # IT CONTAINS THE CODING FOR DELETING ALL COMMAND PROCESSOR
25X2 # LEVELS UPTO A LEVEL SPECIFIED AS A PARAMETER OF CLEANUP.
26BL # ANY MACRO DEFINITION FILES ASSOCIATED WITH THESE LEVELS
26W= # ARE CLOSED DOWN .
27*W QENTRY1
27TG LDCH 7 EXT+3(2)
28*6 LDN 5 0
28SQ BZE 7 X9
29#B #SKI APL
29S2 LDN 7 3 [TAB1
2=?L #SKI APL<1$1
2=R= LDN 7 2
2?=W LDN 5 1 [TAB2
2?QG SEGENTRY ADPCL1 [ MEND POINT FOR DATAPASS
2?WC ...X9
2#2# ...#SKI JSKI27^JSKI29<1$1
2#69 ... ADN 7 3
2#=6 ...#SKI JSKI27*JSKI29<1$1*(JSKI27^JSKI29)
2#B3 ... ADN 7 4
2#FY ...#SKI JSKI27*JSKI29
2#KT ... ADN 7 5
2#PQ ADN 5 2
2*9B LDX 3 MASKP(1)
2*P2 ANDS 3 EXT+3(2) [MASK OUT N0 CHAR
2B8L LDX 3 MASKMON(1)
2BN= ANDS 3 CLONG1(2) [MASK OUT B2, WHICH IS USED TO
2C7W [INDICATE THAT A GMON ASET BLOCK EXIS
2CMG LDN 3 0 [ZEROISE COUNT OF INT ISS. COMMANDS
2D76 X1 LDX 4 7 [ TO BE READ & KEEP COPY
2DLQ LDN 6 TAB1-1
2F6B LDX 2 FPTR(2)
2FL2 LDX 0 ATYPE(2)
2G5L SRL 0 12 [ISOLATE BLOCK TYPE
2GK= TXU 0 TCPB(1)
2H4W BCS X6
2H=4 ...#UNS G400
2HC= ... RVHOOK 2
2HJG LDEX 4 CPBCPLEV(2)
2J46 LDCT 0 #400
2JHQ ANDX 0 CPBCPLEV(2)
2K3B SMO FX2
2KH2 TXU 4 EXT+3
2L2L BCC X3
2LG= SMO FX2
2L^W TXL 4 EXT+3 [ ERROR IF LEVEL LESS
2MFG BCC X2 [ THAN TERMINATING
2M^6 GEOERR 0,CPLEVELS [ LEVEL
2NDQ X2 BZE 0 X7 [ JUMP IF NOT INTERNALLY ISSUED LEVEL
2NYB ADN 3 1 [ADD ONE TO THE COUNT
2PD2 X7
2PXL LDX 4 CPBFSD(2)
2QC= BNG 4 X4 [J IF NOT A MACRO LEVEL
2QWW FREECORE 2 [FREE THE BLOCK
2RBG MHUNTW 2,CPB,CALAS
2RW6 LDX 4 CPBFSD(2)
2S*Q BPZ 4 X5 [J IF THIS IS ALSO A MACRO LEVEL
2STB LDX 0 MASKJR(1)
2T*2 ANDS 0 CPBFSD(2) [MASK OUT JOB & RUNJOB BITS
2TC9 ...#SKI JWPHASE2
2TFD ...(
2TGX ... ANDX 4 XBITS12(1)
2TJB ... BNZ 4 X10
2TKW ...)
2TN5 ...#SKI JWPHASE2<1$1
2TQ# ...(
2TSL SLL 4 1
2W#= BPZ 4 X5 [J IF NOT WJDF
2WRW GETFNAME
2X3N ...)
2X6? ...#UNS G400
2X8W ...#SKI 0
2X?G X5 CLOSE [CLOSE FILE
2X#F ...#UNS G400
2X*D ...(
2XBC ...X5 TESTHOOK XSD2
2XCB ... CLOSE
2XD* ... BRN X10
2XF# ...XSD2 CLOSETOP
2XG? ...)
2XH# ...X10
2XKX ...#UNS G400
2XNG ... TESTHOOK XDSK1
2XR6 MONOUT ENDMAC [OUTPUT END OF MACRO MESSAGE
2XST ...#UNS G400
2XWJ ...XDSK1
2XY# ...#SKI JWPHASE2<1$1
2Y5G ...(
2Y=Q BPZ 4 X1 [J IF NOT W.JOB DESCRIPTION
2YQB ERASE [ERASE JOB DESCR. FILE
2^28 ...)
2^=2 BRN X1
2^PL X6
329= ADN 6 1
32NW SMO 6
338G TXU 0 0(1)
33N6 BCC X1 [J IF PERMITTED BLOCK TYPE
347Q BCT 4 X6
34MB LDN 6 TAB2-1 [SEARCH SECOND TABLE
3572 LDX 4 5
35LL ANDN 0 #7700
366= X8 ADN 6 1
36KW SMO 6
375G TXU 0 0(1)
37K6 BCC X1
384Q BCT 4 X8
38JB X4 FREECORE 2
38L^ ... BBUS 12,EXT+11(2),X1 [J TO X1 IF WE FN BIT NOT SET
38PJ ... HUNT 2,COMDAT,CFIN
38S7 ... BPZ 2 X1 [J TO X1 IF A COMDAT/CFIN EXISTS
38WQ ... LDX 2 FX2
38^* ... UNSETBIT 12,EXT+11(2) [IF NO COMDAT/CFIN,CLEAR WE FN BIT
3942 BRN X1
39HL X3 SMO FX2
3=3= STO 3 EXT+3
3=4? ...#UNS CMXMSK
3=5# ...(
3=6* ... SEGENTRY K70CLEAN
3=7B ... BRN XK71 [MENDED TO NULL IF REPORTNEST ON
3=8C ... LDN 4 #10
3=9D ... SMO FX2
3==F ... ANDX 4 CONTEXT
3=?G ... BZE 4 XK71 [BRN IF NOT MOP
3=#H ... LDX 4 CMXMSK(2)
3=*J ... SMO FX2
3=BK ... STO 4 AMXMSK [RESET REPORTING MASK FOR NEW LEVEL
3=CL ...XK71
3=DM ... SEGENTRY K71CLEAN
3=FN ...)
3=GW LDX 4 CMFMSK(2) [ SET TRACING LEVEL FROM
3?2G SMO FX2 [/CALAS BLOCK AT THE LOWEST LEVEL
3?G6 STO 4 AMFMSK [ IN CPAT
3?^Q UP
3#9J ...XBITS12 #30000000
3#FB MASKJR #47777777
3#^2 MASKP #777777
3*DL MASKMON #67777777
3*Y= TCPB +CPB+CALAS
3BCW TAB2 +BLINK
3BXG +BSTB
3CC6 # BLOCKS WHICH ARE SOMETIMES SAVED
3CWQ +APED
3DBB [
3DW2 TAB1 +AMXOR+AOUT
3F*L +APERI+ASSOCS
3FD9 ... +COMDAT+CBUFF
3FGS ...#SKI JSKI27
3FKC ... +APERI+ASSOCS0
3FN2 ...#SKI JSKI29
3FQK ... +ADATA+JMCPASS
3FT= SEGENTRY ADPCL2 [ MEND POINT FOR DATAPASS
3G#W # BLOCKS WHICH ARE SOMETIMES SAVED
3GSG +ADATA+BREPLY
3H#6 +ADATA+AREPORT [REQUIRED BY LOGOUT/ATTACH
3HRQ #SKI APL
3J?B +ADATA+CREPLY
3JR2 +0 [ SPACE FOR DATAPASS
3K=L MENDAREA 20,K99CLEAN
3KQ= #END
^^^^ ...75214324000100000000