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