SETUPARA867
(George Source)
Macros used: ACROSS, ALTLEN, BITDEFS, BS, BXE, BXGE, BXL, BXU, CLOSETOP, DATECON, DOWN, FREECORE, FSHENTRY, GEOERR, IDENTITY, IPBACKJAM, IPCONT, IPUSEX, JBC, JBS, JBSC, JBSS, MBC, MBS, MENDAREA, MFREE, MHUNT, MHUNTW, MONOUT, MONOUTX, OPENSYS, OUTBLOCN, OUTNUM, OUTPACK, OUTPARAM, REWIND, SEG, SEGENTRY, SETNCORE, STEP, STEPAGAIN, STEPREWRITE, SYNTHMON, TABRN, TIMECON, TRACE, UNSET, UP
- SETUPARA867.txt
22FL #LIS K0SETUPARA>K0ALLGEO 22^= ... SEG SETUPARA,84,OWEN N JOHN(:CENT) 2394 ...[ 23DW ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 23NN ...[ 23YG [ 24D6 SEGENTRY K1SETUPARA,XSTRT 24K# ... SEGENTRY K2SETUPARA,XTENTBLOK 24QG ... FSHENTRY K3SETUPARA,XALTVALUE,,XALTVALUE 24XQ [ 25CB [ THIS SEGMENT IS PART OF EARLY MORNING START.ITS FUNCTION IS AS 25X2 [ FOLLOWS:- 26BL [ 1) SET THE TIME AND DATE UP AND INDICATE THEY ARE TO 26W= [ BE O/P BY THE FIRST SRING CLEAN 27*W [ 27TG [ 2) CHECK THAT THE IDENTITY MACRO HAS BEEN IMPLEMENTED 28*6 [ 28SQ [ 3) COMPARE ALL IPS IN PARAMINDEX WITH THEIR MAX/MIN 29#B [ VALUES IF TEST FAILS WE TAKE THE FIXED CORE 29S2 [ DEFAULT AND PUT DEFAULT INTO PARAMINDEX 2=?L [ 2=R= [ 4) PERFORM CERTAIN SPECIAL CHECKS:- 2?=W [ MOPLIMIT+BACKGROUND <= JOBLIMIT 2?QG [ MOPJOBS+BACKJOBS <= JOBLIMIT 2#=6 ...[ OBJECTQUOTA+CHAPTERQUOTA < AFREE 2*P2 [ COREOBJECT < AFREE (G3) OR < EBSWAPSP (G4) 2B8L [ SIZEDEFAULT < AFREE (G3) OR < EBSWAPSP (G4) 2BN= ...[ MAXQUOTA < AFREE (G4) 2C7W [ 2CMG [ THE CHECK IS REPEATED UNTIL ALL POSSIBLE DEFAULT 2D76 [ VALUES ARE TAKEN 2DLQ [ 2F6B [ 5) IF VALUE IN PARAMINDEX IS UNSET - THE DEFAULT IS 2FL2 [ TAKEN - IN THIS CASE NO MESSAGE O/P 2G5L [ 2GK= [ NOTE: 2H4W [ ONCE AN IP DEFAULT IS TAKEN NO FURTHER CHECKS ARE MADE - 2HJG [ E.G SO IF DEFAULT > MAX VALUE 2J46 [ *** BAD LUCK -- DEFAULT STILL TAKEN 2JHQ [ 2JKN ...#UNS IPEXTENSION+1*IPEXTENSION 2JML ...#DEF XIPEXT=1 2JPJ ...#UNS IPEXTENSION+1*IPEXTENSION 2JRG ...#SKI 2JTD ...#DEF XIPEXT=0 2K3B #PAGE 2KH2 [ THE FOLLOWING TABLE IS A LIST OF SPECIAL IP'S 2L2L [ 2LG= [ -- LOCATION = FIXED CORE ADDRESS (TO BE HELD AS AN 2L^W [ ADDR. REL. TO INSTPARAM ) 2MFG [ 2M^6 [ -- BRANCH = PLACE WHERE RELAVENT CODING IS FOR CHECK 2NDQ [ 2NYB [ 2PD2 TABIPST [ LOCATION BRANCH 2PXL [ 2QC= TABRN BACKGROUND , +YBGD 2QWW TABRN BACKJOBS , +YBCJ 2RBG TABRN AOBJCORES , +YCOR [COREOBJECT 2RW6 TABRN IMOPJOBS , +YMOJ 2S*Q TABRN IMOPLIMIT , +YMOL 2STB TABRN JOBLIMIT , +YJOL 2T*2 TABRN COREDEFAULT , +YCOR [SIZEDEFAULT 2WRW TABRN COBJQUOTA , +YOBJ [OBJECTQUOTA 2X?G TABRN CHAPQUOTA , +YCAP [CHAPTERQUOTA 2Y=Q #SKI G4 [THESE ARE FOR G4 ONLY :- 2YQB ... TABRN AMAXQUOTA , +YMAX [MAXQUOTA 338G #DEF TABIPLGN = 0? - TABIPST [LENGTH OF IP SPECIAL TABLE 33N6 #PAGE 347Q [ 34MB [ NOW WE SET UP THE REQUIRED POINTER WORDS :- 3572 [ 35LL [ WORD: XDEFAULT = B2 - IF DEFAULT TAKEN =1 366= [ B5 - IF IP WAS UNSET =0 36KW [ B8 - IF CHECK FAILED =1 375G [ B11 - IF ERROR HEADING BEEN O/P = 1 37K6 [ B14 - IF TRACE/CONTEXT IP=1 384Q [ B17 - IF CONTEXT =1 38JB [ 3942 #DEF XDEFAULT = AWORK4 39HL [ 3=3= BITDEFS XDEFAULT,2,TOOKDEF,,,UNSETDEF,,,TESTFAIL,,,VANYERR 3=GW [ 3?2G BITDEFS XDEFAULT,14,TRACON,,,TCONT 3?G6 #PAGE 3?^Q [ 3#FB [ AS GEORGE IS PURE CODE WE MUST SOMEHOW HOLD THE VALUE OR POINTERS 3#^2 [ TO THE VALUE OF THE SPECIAL IP'S AS WE DO OUR SCAN OF PARAMINDEX 3*DL [ IN ORDER TO PERFORM THE CHECKS 3*Y= [ 3BCW [ SO WE CREATE A 13 WORD ADATA/CSTORE BLOCK TO CONTAIN THE 3BXG [ INFORMATION. THE ADATA BLOCK IS IN GROUPS OF 4 WORDS 3CC6 [ 3CWQ [ THE VERY FIRST WORD (XCALC) IS A POINTER TO 3DBB [ WHERE WE ARE IN THE BLOCK 3DW2 [ 3F*L [ A GROUP OF 4 WORDS CONSITS OF :- 3FT= [ 3G#W [ WORD 1 - TELLS OF THE 3 IP'S WHETHER THE DEFAULT HAS BEEN 3GSG [ TAKEN AND WHY -- STRUCTURED AS:- 3H#6 [ 3HRQ BITDEFS 0,0,,,TOOK1,,,UNSET1,,,TOOK2,,,UNSET2,,,TOOK3,,,UNSET3 3J?B [ 3JR2 [ WORD 2 - IF A1 DEFAULT HAS BEEN TAKEN THEN THE VALUE OF THE 3K=L [ [P DEFAULT ELSE POINTER TO POSITION IN PARMNDX 3KQ= [ 3L9W [ SIMILARY WORDS 3+4, THE CHECK BEING:- 3LPG [ 3M96 [ WORD 2 + WORD 3 <= WORD 4 3MNQ [ 3N8B [ SET UP POINTERS TO WORD 1'S 3NN2 #DEF XDUMP=A1 3P7L #DEF XCALC=XDUMP+1 3PM= #DEF XCALCLIMIT=XCALC+1 3Q6W #DEF XCALCJOB = XCALCLIMIT + 4 [JOBLIMIT/BACKJOB/MOPJOB 3R66 #DEF XCALCQUOTA = XCALCJOB + 4 [CHAPTERQUOTA/COREOBJECT 3RKQ #SKI G4 3S5B #DEF XAFEB = EFSWAPSP 3SK2 #OPT XAFEB = AFREE 3T4L #PAGE 3TJ= [ 3W3W [ FATAL ERRORS 3WHG [ 3X36 YBRK GEOERR 1,SETPARAB [BREAK-IN ON ATTEMPT TO OPEN PARAMNDX 3XGQ YFAL GEOERR 1,OPENFAIL [SOMETHINK WRONG ON OPENING PARAMNDX 3Y2B #PAGE 3YG2 TRACEIP 3Y^L [ 3^F= [ THE FOLLOWING ARE THE VALUE OF IPNUM FOR CONTEXT + THE TRACING LEVEL 3^YW [ IP'S OVER WHICH SPECIAL COMPARISIONS OF MAX/MIN ARE REQUIRED 42DG [ 42Y6 +ICONTEXT-INSTPARAM [ADDR. OF CONTEXT 43CQ +JOBTRACE-INSTPARAM [ JOBTRACE 43XB +IMINTRACE-INSTPARAM [ MINTRACE 44C2 +IMOPTRACE-INSTPARAM [ MOPTRACE 44WL +IOPTRACE-INSTPARAM [ OPTRACE 45B= #DEF TRACEED = 0?-TRACEIP 45TW #PAGE 46*G [ 46T6 [ INTERFACE WITH MESSAGE SYSTEM 47#Q [ 47SB WIDFAIL +IDISACES [THIS RESTORE HAS NO IDENTITY 48#2 WIPHEAD +IPDEFHEAD [IP'S RESET TO DEFAULT ARE:- 48RL WIPLIS +IPDEFSET [ %A = %B 49?= UNSC +5 49QW UNSET 5HUNSET 4==G #DEF ULNOUTB = 6 [LGTH OF A STANDARD OUTBLOCK 4=Q6 [ NUMBER=1 W : IPNAME= 3 W 4?9Q #PAGE 4?PB [ 4#92 [ THERE NOW FOLLOWS THE 3 SUBROUTINES REQUIRED TO HANDLE THE 4#NL [ ADATA/CSTORE IP'S 4*8= [ 4*MW [ 1)SINPUT -- PUTS THE IP INTO THE BLOCK AND UPDATES WORD 1 4B7G [ CALLING O/P ROUTINES IF DEFAULT TAKEN 4BM6 [ 2)SOUTPUT -- TAKES THE 3 IP'S OUT OF ADATA BLOCK AND PLACING IN 4C6Q [ X4,X5,X6 SUCH THAT X4+X5 TO BE <= X6 4CLB [ 4D62 [ 3)STAKEDEF -- SEES IF WHEN CHECK FAILS WHICH DEFAULT TO BE TAKEN 4DKL [ NEXT 4F5= [ 4FJW SINPUT 4G4G [ 4GJ6 [ RULE :- 4H3Q [ IF DEFAULT TAKEN THEN DEFAULT VALUE IS STORED IN THE 4HHB [ ADATA/CSTORE AND RELAVENT TOOK? IS SET. OTHERWISE THE RELAATIVE 4J32 [ POSITION IN PARAMINDEX IS STORED AND TOOK% IS LEFT CLEAR 4JGL [ 4K2= #SKI K6SETUPARA>200-200 4KFW ... TRACE 0,SETUP00 4K^G STO 3 AWORK2(2) [STORE CURRENT POS IN PARAMINDEX 4LF6 MHUNTW 3,ADATA,CSTORE 4LYQ ADX 3 1 [RELITIVIZER FOR WHICH XCALC WORD 4MDB LDX 1 5 [STORE LINK ADDR IN X1 SO WE CAN MOD 4MQQ ...( 4MY2 JBC SJN,2,UNSETDEF [JUMP IF IP UNSET 4NCL OBEY 0(1) [ VIZ BS 3,UNSET? 4NX= OBEY 1(1) 4P74 ...) 4PBW SJN JBC SJM,2,TOOKDEF [JUMP IP DEFAULT NOT TAKEN 4PSD ...( 4PWG OBEY 2(1) [VIZ BS 3,TOOK? 4QB6 OBEY 3(1) 4QDP ...) 4QH# ...#SKI XIPEXT 4QKX ... IPUSEX LDX 0,4 [PUT DEFAULT VALUE IN X0 4QNG ...#SKI XIPEXT<1$1 4QR5 ...( 4QTQ SMO 4 4R*B LDX 0 INSTPARAM [PUT DEFAULT VALUE IN X0 4RK8 ...) 4RT2 BRN SEND 4S#L SJM LDX 0 AWORK2(2) 4SS= SBX 0 ACOMMUNE6(2) [PUT REL POINTER TO PARAMNDX IN X0 4T?W SEND OBEY 4(1) [VIZ ADN 3 1/2/3 4TRG STO 0 0(3) [STORE REQUIRED VALUE 4W?6 LDX 3 AWORK2(2) [RESTORE POINTER TO PARAMINDEX 4WQQ LDX 1 FX1 [PUT FX1 INTO X2 AGAIN 4XQ2 EXIT 5 5 4Y9L #PAGE 4YP= SOUTPUT 4^8W #SKI K6SETUPARA>200-200 4^NG ... TRACE 1,SETUP01 5286 STO 0 GEN0 52GH MHUNTW 3,ADATA,CSTORE 52SY LDX 2 FX2 [BEST BE CAREFUL !!! 537B LDX 7 ACOMMUNE6(2) 53M2 ADN 7 IPVAL-A1 [X7 NOW HOLDS ADDR OF PARAMINDEX 546L SMO GEN0 54L= OBEY 0 [ VIZ ADX 3 XCALC??? 555W LDX 4 1(3) 55KG JBS SJ1,3,TOOK1 [JUMP IF 1ST IP IS DEFAULT 5656 ADX 4 7 56JQ SMO 4 574B LDX 4 0 57J2 SJ1 LDX 5 2(3) 583L JBS SJ2,3,TOOK2 [REPEAT FOR 2ND IP 58H= ADX 5 7 592W SMO 5 59GG LDX 5 0 5=26 SJ2 LDX 6 3(3) 5=FQ JBS SJ3,3,TOOK3 [AND THE 3RD 5=^B ADX 6 7 5?F2 SMO 6 5?YL LDX 6 0 5#D= SJ3 LDX 0 GEN0 5#XW EXIT 0 1 5*CG #PAGE 5*X6 [ 5BBQ STAKEDEF 5BWB #SKI K6SETUPARA>200-200 5CB2 ... TRACE 2,SETUP02 5CTL MHUNTW 3,ADATA,CSTORE 5D*= SMO 7 [LINK ADDR IN X7 5DSW OBEY 0 [PICK UP WHICH XCALC WORD 5F#G JBSS STOK1,3,TOOK1 [JUMP IF IP 1 - IS DEFAULT 5FS6 LDX 3 1(3) [REL POINTER TO PARAMINDEX 5G?Q ADX 3 ACOMMUNE6(2) [MAKE X3 ABSOLUTE POINTER TO PARA 5G*N ...#SKI XIPEXT 5GCL ...( 5GFJ ... LDX 0 IPNUM-A1(3) 5GHG ... IPUSEX LDX 4,0 [PUT DEFAULT VALUE IN X4 5GKD ...) 5GMB ...#SKI XIPEXT<1$1 5GP# ...( 5GRB SMO IPNUM-A1(3) 5H?2 LDX 4 INSTPARAM [PUT DEFAULT VALUE IN X4 5HGS ...) 5HQL BRN STRM 5J== STOK1 JBSS STOK2,3,TOOK2 [REPEAT ABOVE FOR 2ND IP -DEFAUT INX5 5JPW LDX 3 2(3) 5K9G ADX 3 ACOMMUNE6(2) 5K?D ...#SKI XIPEXT 5K*B ...( 5KC# ... LDX 0 IPNUM-A1(3) 5KF= ... IPUSEX LDX 5,0 [PUT DEFAULT VALUE IN X5 5KH8 ...) 5KK6 ...#SKI XIPEXT<1$1 5KM4 ...( 5KP6 SMO IPNUM-A1(3) 5L8Q LDX 5 INSTPARAM 5LDJ ...) 5LNB BRN STRM 5M82 STOK2 JBS YSUC,3,TOOK3 [IF 3RD IP IS DEFAULT ALL POSS DEFS 5MML [ TAKEN SO JUMP 5N7= STOZ AWORK3(2) [POINTER TO SAY ALL DEFS TAKEN 5NLW LDX 3 3(3) [REL POINTER TO PARA 5P6G ADX 3 ACOMMUNE6(2) [ABS POINTER 5PL6 BRN STRM1 5Q5Q STRM STO 4 AWORK1(2) [STORE THE VALUES 5QKB STO 5 AWORK2(2) 5R52 STO 6 AWORK3(2) 5RJL STRM1 5S4= LDX 4 IPNUM-A1(3) 5SHW SBX 7 FX1 [AS WE ARE TO COORD SAVE REL LINK ADD 5SRN ... CALL 5 YHD 5T3G ... MHUNTW 3,ADATA,CSTORE [RE-FIND ADATA-CSTORE 5T?# ... ADX 3 XCALC(3) [AND RE-POSITION 5TH6 SBAK LDX 6 AWORK3(2) 5W2Q ADX 7 1 [RESTORE LINK ADD 5WGB BZE 6 YSUC [JUMP IF ALL 3 IP'S ARE DEFAULT 5X22 LDX 4 AWORK1(2) [ELSE RESTORE ALL VALUES 5XFL LDX 5 AWORK2(2) 5X^= EXIT 7 1 5YDW #PAGE 5YYG [ 5^D6 [ WELL HERE WE GO ---- 5^XQ [ 62CB XSTRT 62X2 [ 63BL #SKI K6SETUPARA>200-200 63CW ... TRACE 3,SETUP03 64*W [ FIRST SET ADTO LARGE ENOUGH TO FORCE SRING CLEAN TO O/P DATE AND 64TG [ TIME ON OPS CONSOLE 64^Q ...[ 6562 ...[ THE FOLLOWING 2 LINES HAVE BEEN ALTERED DUE TO G5441(B 0911) 65== ...[ THIS WAS CAUSED BY THE FACT THE CURRENT SPRING CLEAN 65BG ...[ ONLY RCOGNISWS B0 + B12 SET IN ADTO,IF ALL BITS SET 65GQ ...[ IT GETS CONFUSED....! 65M2 ...[ 65R= ...[ DONE 6.SEPT.74 :CENT 65XG ...[ 663Q ...TOFORCEOP #40004000 [CORRECT FORMAT FOR S-P 6682 ... LDX 0 TOFORCEOP(1) 66#B STO 0 ADTO [ALL BITS NOW SET 66S2 [ 67?L [ CHECK THAT IDENTITY MACRO HAS BEEN IMPLEMENTED 67BH ...[ 67FD ...[ 67J* ...[ THE FOLLOWING CORRECTION IS DUE TO G5448 (B 0983) 67M= ...[ THIS RESULTED IN NO DATAE BEING PRESENT IN THE 'PM' 67Q7 ...[ GEOERGE LOADED MESSAGE.THIS WAS CAUSED BY SETUPARA ASSUMMING 67T4 ...[ THAT A DOWN TO DATECON HAD OCCURED AND FDATE HELD THE CORRECT 67X^ ...[ DATE ---- THIS IS NOT TRUE --- SO DATECON MUST BE CALLED 682W ...[ WITH %A .NE. 'EDATE' SO FORCING A DOWN DATECON,1 685R ...[ DONE 18.SEPT.74 :CENT 688N ...[ 68?K ...#DEF TEDATE = EDATE 68BG ...[ 68FC ...[ WE CAN NOW CALL DATECON WITH PARAMETER TEDATE FORCING DOWN 68J# ...[ 68M9 ... DATECON TEDATE [CONVERT NO OF DAYS TO DDMMMYY IN 68QG [ ACOMMUNE1 + 2. 69=6 LDX 4 ACOMMUNE1(2) 69PQ LDX 5 ACOMMUNE2(2) 6=9B STO 4 IDENTITY+4 6=P2 ... STO 5 IDENTITY+5 [STORE AWAY THE DATE 6?8L [ 6?N= [ NOW CHECK IF IDENTITY MACRO HAS BEEN IMPLEMENTED 6#7W [ (WORD - ACES HOLDS 4 SPACES 6#MG LDX 4 ACES 6*76 TXU 4 IDENTITY [DO CHECK 6*LQ TXU 4 IDENTITY+1 6B6B BCS YIMP [JUMP IF IMPLEMENTED 6BL2 MONOUTX WIDFAIL(1) [O/P RESTORE ERROR MESSAGE 6C5L YIMP 6CK= TIMECON JTIME [CONVERT NO.OF K9'5 TO HH.MM.SS 6D4W LDX 4 ACOMMUNE1(2) 6DJG LDX 5 ACOMMUNE2(2) 6F46 STO 4 IDENTITY+2 6FHQ STO 5 IDENTITY+3 [STORE AWAY THE TIME 6G3B #SKI K6SETUPARA>299-299 6GH2 ... TRACE IDENTITY+2,FIRSTBIT 6H2L [ 6HG= [ OPEN PARAMINDEX --- HOPEFULLY!! MODE CLEAN AS NOT ALTERING 6H^W [ 6JFG OPENSYS YBRK,PARAMINDEX,CLEAN 6J^6 TESTREPN OK,YFAL [IF NOT OK -- GO AND GEOERR 6KDQ #SKI K6SETUPARA>200-200 6KJM ... TRACE 4,SETUP04 6LD2 SETNCORE 14,3,ADATA,CSTORE [SET UP HOLDING BLOCK 6LXL STOZ A1(3) 6MC= LDN 4 A1(3) 6MWW LDN 5 A1+1(3) 6NBG MOVE 4 13 [ZEROISE BLOCK 6NW6 LDN 5 XCALCLIMIT 6P*Q STO 5 XCALC(3) 6PTB STOZ XDEFAULT(2) 6PW2 ...XFSHNBSETN 6PX= ...#SKI XIPEXT 6PXW ...( 6PYG ...#SKI K6SETUPARA>299-299 6P^6 ... TRACE 3,SETUPFRB 6P^Q ... DOWN SETUPARA,2 [SETUP FILE/FRB BLOCK 6Q82 ... MHUNT 3,FILE,FRB [PTR TO FILE/FRB RECORD 6Q8L ... ADN 3 A1 [PTR TO START OF ACTUAL RECORD 6Q9= ...XFSHNBHUNT 6Q=G ...) 6Q#B ...#SKI XIPEXT<1$1 6Q*2 STEP [READ THE ONLY RECORD 6QSL #SKI IPL 6R#= ( 6RRW SEGENTRY K97SETUPARA 6S?G NULL 6SR6 ) 6T=Q STO 3 ACOMMUNE6(2) [STORE START ADDR IN EVENT OF COORD 6TQB SBN 3 IPLINE [MERELY TO EASE POSITIONING 6W=2 YLOP ADN 3 IPLINE 6WPL SMO ACOMMUNE6(2) 6X9= LDX 0 IPHEAD-A1 6XNW ADX 0 ACOMMUNE6(2) 6Y8G SBN 0 IPNUM-A1(3) [SUBTRACT ADDR OF NEXT IP LOCATION 6YN6 BNG 0 YALL [J IF END OF PARAMNDEX REACHED 6^7Q [ 6^MB [ WE ARE NOW (STILL) READING PARAMINDEX 7272 [ 72LL MBC 2,TOOKDEF,UNSETDEF,TESTFAIL,TRACON,TCONT 736= #SKI K6SETUPARA>200-200 73KW ... TRACE XDEFAULT(2),SETUP08 745G LDX 6 IPVAL-A1(3) [PUT VALUE OF IP IN XD 74K6 LDX 4 IPNUM-A1(3) [PUT REL FIXED CORE ADDR INTO X4 74KT ...#SKI XIPEXT 74LJ ... BNG 4 XTNUM [J IF IN EXTENSION TABLE 74M* ... LDN 5 INSTGAPEND-INSTPARAM [MAX NO OF IPS ALLOWED 74MJ ...#SKI XIPEXT 74MR ...( 74N2 ... BRN XTNUMCOMP 74N9 ...XTNUM 74ND ... LDX 5 IPEXTCOUNT [NUMBER OF IPS IN EXTENSION TABLE 74NM ... ORX 5 GSIGN [SET BIT 0 74NW ...XTNUMCOMP 74P5 ...) 74PJ ... BXL 4 5,NUMOK [J IF OK 74RR ... OUTNUM 4,0 74W2 ... MONOUT IPHIGH [%A IS TOO HIGH FOR AN IP NO 74W7 ... SBX 3 ACOMMUNE6(2) [OBTAIN REL PTR WITHIN FILE/FRB 74W# ... STO 3 4 [SAVE IN X4 74WF ...#SKI XIPEXT<1$1 74WL ... STEPAGAIN [REFIND PTR TO RECORD 74WR ...#SKI XIPEXT 74WY ...( 74X5 ... MHUNT 3,FILE,FRB [REFIND PTR TO FILE/FRB BLOCK 74X= ... ADN 3 A1 74XC ...) 74XJ ... STO 3 ACOMMUNE6(2) [STORE START ADDR IN EVENT OF COORD 74XP ... ADX 3 4 [REFIND CURRENT PLACE IN FILE/FRB 74Y9 ... BRN YLOP 752D ...NUMOK 754Q [ 75JB [ IS THE IP UNSET ? 7642 [ 76HL BXE 6 GSIGN,YSTD [JUMP IF IT IS 773= [ 77GW ...[ ARE WE DEALING WITH A TRACE IP OR CONTEXT 782G [ 78G6 LDN 5 TRACEED 78^Q YRD SMO 5 79FB BXE 4 TRACEIP-1(1),YTRAC 79^2 BCT 5 YRD 7=DL [ 7=Y= [ IF WE GET HERE NOT TRACE/CONTEXT AND NOW X1 = FX1 AGAIN 7?CW [ 7?XG [ SO NOW WE CAN TEST IPVAL AGAINST MAX/MIN 7#C6 #SKI K6SETUPARA>200-200 7#WQ ... TRACE 6,SETUP06 7*BB BXL 6 IPMIN-A1(3),YSBD [JUMP IF LESS THAN MIN 7*W2 BXL 6 IPMAX-A1(3),YOK [JUMP IF LESS THAN MAX-- I.E OKAY 7B*L BXE 6 IPMAX-A1(3),YOK [JUMP IF EQUAL TO MAX -- I.E.OKAY 7BT= [ 7C#W [ IF WE GET HERE WE HAVE TO SET XDEFAULT AS WE MUST TAKE A DEFAULT 7CSG [ 7D#6 YSBD BS 2,UNSETDEF [IP WAS NOT UNSET-- TEST HAS FAILED 7DRQ #SKI K6SETUPARA>200-200 7F?B ... TRACE XDEFAULT(2),SETUP09 7FR2 YSTD BS 2,TOOKDEF [DEFAULT TO BE TAKEN 7G=L #SKI K6SETUPARA>200-200 7GQ= ... TRACE XDEFAULT(2),SETUP19 7H9W [ 7HPG [ NOW TO TEST IF WE ARE DEALING WITH A SPECIAL IP 7J96 [ 7JNQ YOK 7K8B LDN 0 TABIPLGN [LENGTH OF SP IP TABLE 7KN2 YRDA SMO 0 7L7L LDX 5 TABIPST-2(1) [LOAD A SP IPNUM - START AT END OF TB 7LM= SBN 0 1 [ADJUST COUNT AS DOUBLE ENTRY TABLE 7M6W BXU 4 5,YEND [JUMP IF NOT A MATCH 7MLG #SKI K6SETUPARA>200-200 7N66 ... TRACE 0,SETUP10 7NKQ SMO 0 7P5B BRN TABIPST [BRANCH TO REL SP IP CODING 7PK2 YEND BCT 0 YRDA [ROUND WE GO 7Q4L [ 7QJ= [ IF WE FALL THROUGH NOT A SP IP 7R3W [ 7RHG [ THE FOLLOW INTEROGATES THE XDEFAULT WORD 7S36 [ 7SGQ YNOR LDN 5 YLOP(1) [THIS CODE MAY RETURN ELSEWHERE THAN 7T2B #SKI K6SETUPARA>200-200 7TG2 ... TRACE 1,SETUP11 7T^L [ YLOP 7WF= YOPT JBS YTAK,2,TOOKDEF [JUMP IF DEFAULT TO BE TAKEN 7WJB ...#SKI XIPEXT 7WMG ... IPUSEX STO 6,4 [STORE NEW VALUE OF IP 7WQL ...#SKI XIPEXT<1$1 7WTQ ...( 7WYW SMO 4 7XDG STO 6 INSTPARAM 7XN# ...) 7XY6 #SKI K6SETUPARA>200-200 7YCQ ... TRACE 4,SETUP24 7YXB BRN (5) [FINI - SO RETURN 7^C2 [ 7^WL [ IF HERE THE DEFAULT IS TO BE TAKEN 82B= [ 82TW YTAK JBC (5),2,UNSETDEF [IF UNSET WE CAN RETURN 83*G #SKI K6SETUPARA>200-200 83T6 ... TRACE 2,SETUP12 84#Q [ 84SB [ SO WE HAVE TO O/P AN ERROR MESSAGE 85#2 [ 85RL YHD SBX 3 ACOMMUNE6(2) 85WQ ...#SKI XIPEXT 85^W ... IPUSEX LDX 6,4 [VALUE OF IP 8652 ...#SKI XIPEXT<1$1 8686 ...( 86?= SMO 4 86QW LDX 6 INSTPARAM 872N ...) 87=G LDX 4 3 87Q6 SBX 5 FX1 889Q JBS YERR,2,VANYERR [JUMP IF HEADING ALREADY O/P 88PB MONOUTX WIPHEAD(1) [O/P DEFAULT HEADING 8992 BS 2,VANYERR [SET HEADING O/P SWITCH 89NL YERR 8=8= [ 8=MW [ OUTPUT THE %A = %B 8?7G [ 8?M6 #SKI K6SETUPARA>200-200 8#6Q ... TRACE 0,SETUP20 8#LB OUTBLOCN ULNOUTB [CREATE THE GMON/ASET BLOCK 8*62 TRYAGAIN 8*7Y ...#SKI XIPEXT 8*9W ...( 8*?S ... MHUNT 3,FILE,FRB [PTR TO FILE/FRB BLOCK 8**Q ... ADN 3 A1 [PTR TO START OF ACTUAL RECORD 8*CN ... STO 3 ACOMMUNE6(2) [STORE ADDR IN EVENT OF COORD 8*FL ...) 8*HJ ...#SKI XIPEXT<1$1 8*KL STEPAGAIN 8B5= ADX 3 4 8BJW OUTPACK IPNAME-A1(3),3,LOCNAME,TRYAGAIN 8C4G BXU 6 GSIGN,YNUNS 8CJ6 LDX 3 UNSET(1) [SO OUR VALUE IS -- UNSET 8D3Q STO 3 ACOMMUNE1(2) [SO WE OUTPUT AN INTELLIEGENT 8DHB LDX 3 UNSET+1(1) [ERROR REMARK 8F32 STO 3 ACOMMUNE2(2) 8FGL LDX 3 UNSC(1) [NOW THE NO. OF CHARACHTERS 8G2= BRN YPAR 8GFW YNUNS 8G^G ... JBSC YTR,2,TRACON [JUMP IF CONTEXT OR TRACE IP- CLEAR B 8HF6 YNUM OUTNUM 6,0 [PUT IP VALUE INTO GMON BLOCK 8HYQ BRN YOUT 8JDB YTR JBSC YCON,2,TCONT [JUMP IF CONTEXT - CLEAR BIT 8JY2 SYNTHMON 6 [TRANSLATE MASK AND OUTPAR 8KCL BRN YOUT 8KX= YCON BZE 6 YNUM [TRAP CASE OF CONTEXT=0 !! 8LBW IPCONT 6,3 [TRANSLATE CONTEXT INTO CHARS 8LWG YPAR OUTPARAM 3,ACOMMUNE1 [PUT INTO GMON BLOCK 8MB6 YOUT MONOUTX WIPLIS(1) [DO THE ACTUAL O/P 8MKY ...#SKI XIPEXT<1$1 8MTQ STEPAGAIN [.. WE WISH TO RETURN TO THE POSITION 8MY* ...#SKI XIPEXT 8N2Y ...( 8N5H ... MHUNT 3,FILE,FRB 8N86 ... ADN 3 A1 [.. WE WISH TO RETURN TO THE POSITION 8N=P ...) 8N*B STO 3 ACOMMUNE6(2) [.. IN PARAMINDEX BEFORE WE O/P 8NK8 ...#SKI XIPEXT<1$1 8NT2 STEPREWRITE [MARK TO WRITE AWAY AS INSERTING 8P#L [ ... DEFAULT IN PARAMINDEX 8PS= ADX 3 4 8Q?W STO 6 IPVAL-A1(3) [WRITE DEFAULT AWAY 8QRG ADX 5 FX1 8R?6 BRN (5) 8RQQ [ THE MAIN BODY OF THE SEGMENT IS COMPLETE WHAT FOLLOWS IS MERELY.. 8S=B [ 8SQ2 [ 1) THE MAX/MIN COMPARISON FOR CONTEXT+TRACE LEVELS 8T9L [ 8TP= [ 2) THE CHECKS ON SPECIAL IP'S 8W8W [ 8WNG [ 8X86 [ MAX/MIN COMPARISION FOR CONTEXT+TRACE LEVELS 8XMQ [ 8Y7B YTRAC LDX 1 FX1 [RESET FX1 8YM2 BS 2,TRACON [SET TRACE/CONTEXT INDICATOR 8^6L BXU 4 TRACEIP(1),YNCN [JUMP IF NOT CONTEXT 8^L= BS 2,TCONT [SET CONTEXT INDICATOR 925W [ 92KG #SKI K6SETUPARA>200-200 9356 ... TRACE 3,SETUP13 93JQ [ TEST 'MIN' 944B [ 94J2 YNCN 953L LDX 5 IPVAL-A1(3) 95H= ERX 5 IPMIN-A1(3) 962W ANDX 5 IPMIN-A1(3) 96GG BNZ 5 YMFL [JUMP IF MIN HAS FAILED 9726 #SKI K6SETUPARA>200-200 97FQ ... TRACE 4,SETUP14 97^B [ 98F2 [ TEST 'MAX' 98YL [ 99D= LDX 5 IPVAL-A1(3) 99XW ORX 5 IPMAX-A1(3) 9=CG ERX 5 IPMAX-A1(3) 9=X6 BZE 5 YNOR [IF SUCCESS ON MAX/MIN JUMP 9?BQ #SKI K6SETUPARA>200-200 9?WB ... TRACE 5,SETUP15 9#B2 YMFL MBS 2,TOOKDEF,UNSETDEF [SET BITS TO FAILURE 9#TL BRN YNOR 9**= #PAGE 9*SW [ 9B#G [ NOW FOR CODE TO SET UP THE ADATA/CSTORE WITH THE SP-IP'S 9BS6 [ 9C?Q #SKI K6SETUPARA>200-200 9CRB ... TRACE 6,SETUP16 9D?2 YBGD LDN 1 XCALCLIMIT [BACKGROUND 9DQL YFST CALL 5 SINPUT 9F== BS 3,UNSET1 9FPW BS 3,TOOK1 9G9G ADN 3 1 9GP6 ... BRN YLOP 9H8Q YBCJ LDN 1 XCALCJOB [BACKJOB 9HNB BRN YFST 9J82 YMOJ LDN 1 XCALCJOB [MOPJOB 9JML YSND CALL 5 SINPUT 9K7= BS 3,UNSET2 9KLW BS 3,TOOK2 9L6G ADN 3 2 9LL6 ... BRN YLOP 9M5Q YMOL LDN 1 XCALCLIMIT [MOPLIMIT 9MKB BRN YSND 9N52 YJOL1 LDN 1 XCALCJOB [JOBLIMIT 9NJL #SKI K6SETUPARA>200-200 9P4= ... TRACE 1,SETUP21 9PHW BRN YTRD 9Q3G YJOL LDN 1 XCALCLIMIT 9QH6 LDN 6 2 9R2Q YTRD CALL 5 SINPUT 9RGB BS 3,UNSET3 9S22 BS 3,TOOK3 9SFL ADN 3 3 9S^= BCT 6 YJOL1 9TDW ... BRN YLOP 9TYG [ 9WD6 [ END OF INSERTING DATA INTO ADATA/CSTORE 9WXQ [ 9YBL YOBJ MHUNTW 2,ADATA,CSTORE 9YW= LDX 6 AFREE [STORE AFREE IN CALC WORD 9^*W ADN 2 XCALCQUOTA [POSITION OURSELVES 9^TG STO 6 3(2) =2*6 BS 2,TOOK3 [AND SET DEFAULT BIT =2SQ LDX 2 FX2 =3#B LDN 1 XCALCQUOTA [OBJECTQUOTA =3S2 BRN YFST =4?L YCAP LDN 1 XCALCQUOTA [CHAPTERQUOTA =4R= BRN YSND =5QG #SKI G4 =6=6 ( =6PQ ...YMAX JBS YNOR,2,TOOKDEF [JUMP IF DEFAULT ALREADY TAKEN =79B ... [THIS FOR G4 MAXQUOTA =7P2 ... BXL 6 AFREE,YNOR [JUMP IF CHECK OKAY =88L MBS 2,TOOKDEF,UNSETDEF =8N= BRN YNOR =?6B ) =?L2 YCOR JBS YNOR,2,TOOKDEF [FOR SIZEDEFAULT/COREOBJECT G3+G4 =#5L #SKI G4 [IF G4 -AS EBSWAPSP IN K MUST DIVIDE =#99 ... SRL 6 10 [ IPVAL(X0) BY 1024 =##S ...[ =#DC ...[ THE FOLLOWING LINES HAVE BEEN ALTERED TO CORRECT =#J2 ...[ BUG 0742(G 5425) =#MK ...[ =#R8 ...[ THIS WAS CAUSED BY THE FACT IF OLD VALUS OF COREOBJECT =#WR ...[ AND SIZEDEFAULT WERE OKAY THE VALUES PUT IN NEW PARAMINDEXG4 =*2B ...[ WAS OLD VALUE/1024 (GEORGE 4 BUG ONLY) =*5^ ...[ =*9J ...[ DONE 7.AUGUST.74 :CENT =**7 ...[ =*DQ ... BXL 6 XAFEB,YYNR [NOTE ROUNING TAKES CARE OF ITSELF =*JG [IF EBSWAPSP = 10K =B46 [X0 = 10002 - SRL = 10 FAILS ON BXL =BHQ #SKI K6SETUPARA>200-200 =BS^ ... TRACE 0,SETUP30 =C68 ... MBS 2,TOOKDEF,UNSETDEF =C92 ...[ =C?S ...[ THIS IS NEW G5425 =CBL ...[ =CFD ...YYNR =CJ= ...#SKI G4 =CM4 ... LDX 6 IPVAL-A1(3) [RESTORE OLD VALUE =CPW ...[ =CSN ...[ AND THATS IT !!!! =CXG ...[ =D2L BRN YNOR =DG= [ =D^W [ END OF ALL CHECKS =FFG [ =F^6 [ NOW THE NUMERICAL CHECKS =GDQ [ =GYB YALL MHUNTW 3,ADATA,CSTORE =HD2 ... LDN 0 3 [POST VOPA ALL CHECKS IN G3+4 =HXL STO 0 XDUMP(3) [KEEP COUNT =JC= YCHK CALL 0 SOUTPUT [PUT IP VALUES INTO X4,X5,X6 =JWW ADX 3 XCALC(3) =KBG YAGN LDX 0 4 =KW6 ADX 0 5 =L*Q BXGE 6 0,YSUC1 [JUMP IF CONDITION IS SUCCESSFUL =LTB #SKI K6SETUPARA>200-200 =M*2 ... TRACE 2,SETUP22 =MSL CALL 7 STAKEDEF [PICK ANOTHER DEFAULT =N#= ADX 3 XCALC(3) =NRW BRN YAGN =P?G YCHK1 =PR6 #SKI K6SETUPARA>200-200 =Q=Q ... TRACE XDEFAULT(2),SETUP18 =QQB LDN 0 4 =R=2 ADS 0 XCALC(3) [UPDATE XCALC POINTER =RPL BRN YCHK =S9= YSUC1 LDX 2 ACOMMUNE6(2) [NOW TO TEST IF ANY IP'S IN A CHEC =SNW [ ARE OKAY (NOT DEFAULT) =T8G JBS YN1,3,TOOK1 [ X3 = ADATA BLOCK =TN6 SMO 1(3) =W7Q LDX 0 IPNUM-A1(2) =W=W ...#SKI XIPEXT =WB2 ... IPUSEX STO 4,0 [1ST IP IN =WF6 ...#SKI XIPEXT<1$1 =WJ= ...( =WMB SMO 0 =X72 STO 4 INSTPARAM [1ST 1P IN =XBS ...) =XLL YN1 JBS YN2,3,TOOK2 =Y6= SMO 2(3) =YKW LDX 0 IPNUM-A1(2) =YP2 ...#SKI XIPEXT =YS6 ... IPUSEX STO 5,0 [2ND IP =YX= ...#SKI XIPEXT<1$1 =^2B ...( =^5G SMO 0 =^K6 STO 5 INSTPARAM [2ND IP =^SY ...) ?24Q #SKI K6SETUPARA>200-200 ?2JB ... TRACE 3,SETUP23 ?342 YN2 JBS YSUC2,3,TOOK3 ?3HL SMO 3(3) ?43= LDX 0 IPNUM-A1(2) ?46B ...#SKI XIPEXT ?49G ... IPUSEX STO 6,0 [3RD IP ?4#L ...#SKI XIPEXT<1$1 ?4CQ ...( ?4GW SMO 0 ?52G STO 6 INSTPARAM [3RD IP ?5=# ...) ?5G6 YSUC2 ?5^Q YSUC MHUNTW 3,ADATA,CSTORE ?6FB LDX 0 XDUMP(3) ?6^2 SBN 0 1 ?7DL STO 0 XDUMP(3) [KEEP NEW COUNT ?7Y= BNZ 0 YCHK1 [J IF NOT FINISHED CHECKS ?8CW FREECORE 3 ?8DC ...#SKI XIPEXT ?8DY ...( ?8FF ... REWIND [REWIND TO START OF FILE ?8G2 ...#SKI K6SETUPARA>299-299 ?8GH ... TRACE 3,IPREWIND ?8H4 ... LDN 7 A1+1 [RELATIVE PTR TO VERSION NUMBER ?8HK ...NEXTRECOUT ?8J6 ... STEP [READ FIRST/NEXT RECORD ?8JM ... BZE 3 WRITEEND [J IF REACHED END OF FILE ?8K8 ... MHUNT 2,FILE,FRB [PTR TO FILE/FRB BLOCK ?8KP ... ADX 2 7 [PTR TO START OF NEXT ENTRY IN /FRB ?8L= ... LDX 1 0(3) [RECORD HEADER OF CURRENT RECORD ?8LR ... SBN 1 1 [DON'T WANT TO MOVE HEADER ITSELF ?8M# ... ADX 7 1 [UPDATE RELATIVE PTR IN FILE/FRB ?8MT ... ADN 3 1 [PTR TO WORD AFTER RECORD HEADER ?8NB ... MOVE 2 0(1) [MOVE NEW ENTRY INTO FILE/FURB ?8NX ... SBN 3 1 [RESET POINTER TO RECORD ?8PD ... STEPREWRITE [RENAME /FURB TO /FUWB TO REWRITE ?8P^ ... BRN NEXTRECOUT ?8QG ...WRITEEND ?8R3 ... LDX 2 FX2 [RESET X2 ?8RJ ... MFREE FILE,FRB [FREE FILE/FRB BLOCK ?8S5 ...#SKI K6SETUPARA>299-299 ?8SL ... TRACE 3,IPWRITEN ?8T7 ...) ?8TN ...XFSHNBALTER ?8XG CLOSETOP ?9C6 IPBACKJAM ?9J# ...XFSHNBBKJM ?9WQ ACROSS SETUP,2 ?9WW ...#PAGE ?9X2 ...XTENTBLOK ?9X6 ...#SKI XIPEXT<1$1 ?9X= ... GEOERR 1,NOTXTTAB [SHOULD ONL ENTER IF EXTENSION TABLE ?9XB ...#SKI XIPEXT ?9XG ...( ?9XL ...# ?9XQ ...# THIS ENTRY POINT SETS UP A FILE/FRB BLOCK WHEN AN EXTENSION TABLE ?9XW ...# EXISTS TO SAVE HAVING TO MAKE LARGE ALTERATIONS TO THE IP CODE ?9Y2 ...# ?9Y6 ... SETNCORE 512,4,FILE,FRB [CREATE FILE/FRB BLOCK ?9Y= ... STEP [READ FIRST RECORD OF FILE ?9YB ... MHUNT 1,FILE,FRB [PTR TO FILE/FRB BLOCK IN X1 ?9YG ... LDX 4 1 [ IN X4 ?9YL ... ADN 4 A1 [PTR TO START OF RECORD BLOCK ?9YQ ... MOVE 3 2 [MOVE FIRST RECORD INTO FILE/FRB ?9YW ... LDN 7 2 [NUMBER OF WORDS IN FILE/FRB ?9^2 ... LDN 6 512 [CURRENT SIZE OF FILE/FRB BLOCK ?9^6 ...NEXTRECIN ?9^= ... STEP [READ NEXT RECORD ?9^B ... BZE 3 READEND [J IF REACHED END OF FILE ?9^G ... MHUNT 1,FILE,FRB [REFIND PTR TO FILE/FRB BLOCK IN X1 ?9^L ... LDX 4 1 [ IN X4 ?9^Q ... ADN 4 A1 [PTR TO START OF RECORD AREA ?9^W ... ADX 4 7 [PTR TO NEXT ENTRY IN FILE/FRB ?=22 ... LDEX 1 0(3) [NUMBER OF WORDS IN RECORD ?=26 ... SBN 1 1 [NUMBER OF WORDS TO BE MOVED ?=2= ... ADX 7 1 [UPDATE COUNT OF WORDS IN FILE/FRB ?=2B ... BXGE 7 6,XALTLEN [J IF BLOCK NOT BIG ENOUGH ?=2G ...XALTERED ?=2L ... ADN 3 1 [PTR TO START OF AREA TO BE MOVED ?=2Q ... MOVE 3 0(1) [MOVE IN RECORD ENTRY ?=2W ... BRN NEXTRECIN [REPEAT FOR NEXT RECORD ?=32 ...XALTLEN ?=36 ... ADN 6 64 ?=3= ...#SKI K6SETUPARA>299-299 ?=3B ... TRACE 6,IPALTLEN ?=3G ... SBX 4 7 ?=3L ... ADX 4 1 ?=3Q ... SBN 4 A1 [REFIND PTR TO FILE/FRB BLOCK IN X4 ?=3W ... ALTLEN 4,6,FILE,FRB [INCREASE LENGTH OF FILE/FRB BY 64 ?=42 ... STEPAGAIN [REFIND PTR TO NEXT RECORD ?=46 ... MHUNT 1,FILE,FRB [REFIND PTR TO FILE/FRB BLOCK IN X1 ?=4= ... LDX 4 1 [ IN X4 ?=4B ... LDEX 1 0(3) ?=4G ... SBN 1 1 [RESET NUMBER OF WORDS TO BE MOVED ?=4L ... ADN 4 A1 ?=4Q ... ADX 4 7 ?=4W ... SBX 4 1 [RESET PTR IN FILE/FRB BLOCK ?=52 ... BRN XALTERED [RETURN TO NORMAL PATH ?=56 ...READEND ?=5= ... MHUNT 1,FILE,FRB [REFIND PTR TO FILE/FRB BLOCK IN X1 ?=5B ... STO 7 A1(1) [INSERT NEW VALUE OF RECORD HEADER ?=5G ...#SKI K6SETUPARA>299-299 ?=5L ... TRACE 7,FRBSETUP ?=5Q ... UP [RETURN TO CALLING SEGMENT ?=5W ...) ?=BB MENDAREA 50,K99SETUPARA ?=W2 #SKI IPL ??*L MENDAREA 30,K98SETUPARA ??T= #END ^^^^ ...10330510000300000000