15 22FL #SEG IDFSEG8 [A C PUTMAN. 13 22PD ...# COPYRIGHT INTERNATIONAL COMPUTERS 1982 7 22_= #OPT K0IDFSEG=0 16 23DW #LIS K0IDFSEG>K0ALLGEO>K0GREATGEO>K0COMMAND>K0IDF 9 23YG 8HIDFSEG 11 24D6 SEGENTRY K20IDFSEG,XIDF20 11 24XQ SEGENTRY K21IDFSEG,XIDF21 11 25CB SEGENTRY K22IDFSEG,XIDF22 11 25X2 SEGENTRY K23IDFSEG,XIDF23 4 26BL # 4 26W= # 17 27*W ZJPARAM +JPARMIS [%C PARAMETER MISSING 14 27TG ZJPARNAM +JPARNAM [^NAME^ 18 28*6 ZJSETP1 +JSETP1 [EXPRESSION %C INVALID 20 28SQ ZJPARPER +JPARPER [PERIPHERAL TYPE ALREADY DEFINED 17 29#B # [FOR CONCEPTUAL %C 4 29S2 XCPB 7 2=?L #HAL CPB+CUNI,0 8 2=R= #HAL IDF+COINF,0 4 2?=W # 4 2?QG # 20 2#=6 YMXB [CHANGES X0,X2 (AND X1 POSSIBLY) 8 2#PQ SBX 7 FX1 19 2*9B MXB 2,NOFX12 [READ RECORD IF NOT IN CORE 8 2*P2 ADX 7 FX1 7 2B8L EXIT 7 0 4 2BN= # 4 2C7W # 16 2CMG YNEWMXB [CHANGES X0,X2 19 2D76 NEWMXB 2 [RECORD KNOWN TO BE IN CORE 7 2DLQ EXIT 7 0 4 2F6B # 4 2FL2 # 18 2G5L # THIS ENTRY POINT SERVICES THE MGETCELL MACRO.ON ENTRY 17 2GK= # ACOMMUNE3 CONTAINS THE CURRENT RECORD NO,ACOMMUNE5 17 2H4W # CONTAINS AN ADDRESS (REL TO START OF REC) IN WHICH 16 2HJG # TO STORE IDF PTR TO NEW CELL OBTAINED. ON EXIT 18 2J46 # ACOMMUNE3 CONTAINS RECORD NO,AND ACOMMUNE4 CONTAINS 17 2JHQ # CELL PTR REL TO START OF REC,OF FREE CELL OBTAINED 4 2K3B # 4 2KH2 # 5 2L2L XIDF20 17 2LG= LDX 4 ACOMMUNE3(2) [CURRENT RECORD NO 20 2L_W LDX 5 ACOMMUNE5(2) [ADDR FOR PTR TO CELL OBTAINED 18 2MFG CALL 7 YNEWMXB [X2 -> A1 OF CURRENT FRRB 8 2M_6 LDX 6 0(2) 20 2NDQ BNZ 6 YMGD [J IF FREE CELL IN CURRENT REC 7 2NYB LDN 3 1 8 2PD2 YMG SMO FX2 9 2PXL ADS 3 ACOMMUNE3 19 2QC= CALL 7 YNEWMXB [LOOK FOR NEXT REC IN CORE 15 2QWW BPZ 2 YMGC [J IF FOUND 8 2RBG SMO FX2 9 2RW6 LDX 1 ACOMMUNE3 18 2S*Q LDX 7 1 [PRESERVE RECORD NUMBER 7 2STB ADN 1 1 16 2T*2 READED 1,4 [READ NEXT RECORD 10 2TSL STO 7 ACOMMUNE3(2) 17 2W#= TESTREPNOT OVERFILE,YMGA [J IF FURTHER RECORD 17 2WRW EXTEND 3,XGEO [INCREASE FILE SIZE 11 2X?G SETNCORE 512,2,FILE,FRRB 8 2XR6 BRN YMGB 10 2Y=Q YMGA MHUNTW 2,FILE,FRRB 19 2YQB TESTREP NORIT,YMGB [HAS RECORD BEEN WRITTEN AWAY 4 2_=2 # 17 2_PL # NORIT REPLY SHOULD NOT BE RECEIVED AS WE ONLY GET 16 329= # ONE RECORD AT A TIME AND USE IT STRAIGHT AWAY 4 32NW # 8 338G LDN 2 A1(2) 8 33N6 BRN YMGC 20 347Q YMGB MSPLITCORE 2 [SPLIT INTO CELLS,LEAVING X2->A1 8 34MB YMGC LDX 6 0(2) 8 3572 BZE 6 YMG 20 35LL YMGD LDEX 1 6 [X2 -> A1 OF FRRB WITH FREE CELL 16 366= SMO FX2 [REL PTR OF CELL 18 36KW STO 1 ACOMMUNE4 [USED BY MGETCELL MACRO 18 375G ADX 1 2 [X1 IS ABS FREE CELL PTR 16 37K6 LDX 0 0(1) [DERING FREE CELL 16 384Q STO 0 0(2) [FROM FREE CHAIN 19 38JB BXGE 4 BRECNO(2),YMGE [J IF STILL ORIGINAL RECORD 20 3942 ADX 6 GSIGN [FREE CELL IN DIFFERENT RECORD 17 39HL LDX 3 2 [KEEP NEW RECORD PTR 8 3=3= SMO FX2 9 3=GW STO 4 ACOMMUNE3 17 3?2G CALL 7 YNEWMXB [FIND ORIGINAL RECORD 9 3?G6 LDX 0 BRECNO(3) 18 3?_Q SMO FX2 [RECORD NO OF NEW CELL 18 3#FB STO 0 ACOMMUNE3 [USED BY MGETCELL MACRO 7 3#_2 YMGE SMO 5 18 3*DL STO 6 0(2) [RING NEW CELL AS REQD 8 3*Y= STOZ 0(1) 8 3BCW LDN 2 1(1) 17 3BXG MOVE 1 CELLEN-1 [ZERO FILL NEW CELL 5 3CC6 UP 10 3CWQ XGEO GEOERR 1,LARGEIDF 4 3DBB # 4 3DW2 # 19 3F*L # THIS IS ENTRY FOR MNAME MACRO.THE IDF IS SEARCHED FOR A 18 3FT= # GIVEN CONCEPTUAL NAME.ON ENTRY IF ACOMMUNE1 IS ZERO 20 3G#W # THE CONCEPTUAL NAME IS FOUND IN A CPB/CUNI OR IDF/COINF BLK. 20 3GSG # IF ACOMMUNE1 IS NONZERO IT CONTAINS THE TYPE/SUBTYPE OF BLK 19 3H#6 # CONTAINING THE NAME AND ACOMMUNE2 CONTAINS PTR TO POSITION 18 3HRQ # DOWN BLK.ACOMMUNE4 CONTAINS DEVICE TYPE OF CONCEPTUAL, 15 3J?B # OR ZERO IF A NEUTRAL CONCEPTUAL IS REQD 4 3JR2 # 4 3K=L # 5 3KQ= XIDF21 14 3L9W LDX 0 ACOMMUNE1(2) [LD. PTR. 8 3LPG BNZ 0 XCHK 9 3M96 RBACK LDX 2 FPTR(2) 9 3MNQ LDX 0 ATYPE(2) 9 3N8B ANDX 0 HALFTOP 16 3NN2 BXE 0 XCPB(1),XCONT [J. IF CPB,CUNI 16 3P7L BXE 0 XCPB+1(1),XCONT [J. IF IDF,COINF 10 3PM= BXL 0 CACT,RBACK 16 3Q6W XGEO1 GEOERR 1,NOBLK [BLK. NOT FOUND 9 3QLG XCONT LDX 1 ANUM(2) 17 3R66 BNG 1 XERO [ERROR IN PARAMETERS 17 3RKQ BZE 1 XERO [ERROR IN PARAMETERS 9 3S5B LDCH 0 APARA(2) 8 3SK2 SBN 0 #40 17 3T4L BNG 0 XERO1 [ERROR NAME NOT VALID 8 3TJ= LDN 0 13 14 3W3W BXGE 1 0,XERO1 [ERROR 8 3WHG LDN 0 12 16 3X36 SBX 0 1 [X0=DIFFERENCE. 7 3XGQ LDN 3 0 18 3Y2B XSP LDCH 7 APARA(2) [LOAD CHAR. FROM INPUT. 8 3YG2 DCH 7 4(3) 7 3Y_L BCHX 2 / 7 3_F= BCHX 3 / 8 3_YW BCT 1 XSP 9 42DG BZE 0 XSTART 21 42Y6 LDN 7 #20 [SPACEFIL IF NECESSARY IF ACC.4,5&6. 8 43CQ XSP1 DCH 7 4(3) 7 43XB BCHX 3 / 20 44C2 BCT 0 XSP1 [GO BACK IF ANOTHER SPACE NEEDED. 9 44WL BRN XSTART 21 45B= XCHK MHUNTX 3,ACOMMUNE1(2) [X3=PTR. TO BLOCK CONTAINING INFO. 18 45TW LDX 7 ACOMMUNE2(2) [LD. INFO. FROM BLOCK. 7 46*G SMO 7 19 46T6 LDX 4 0(3) [LD. NAME FROM AREA IN BLOCK 7 47#Q ADN 7 1 7 47SB SMO 7 8 48#2 LDX 5 0(3) 7 48RL ADN 7 1 7 49?= SMO 7 8 49QW LDX 6 0(3) 5 4==G XSTART 8 4=Q6 LDX 2 FX2 15 4?9Q STOZ ACOMMUNE3(2) [KEEP REC.NO. 17 4?PB MXA CALL 7 YMXB [HUNT FOR THE RECORD. 18 4#92 LDX 7 BCONT(2) [LD. PTR. TO CONCEPTUAL 19 4#NL BZE 7 MXABA [J. NO CONCEPTUALS IN CHAIN. 7 4*8= LDX 0 7 8 4*MW MXAC1 BPZ 7 MXAA 15 4B7G LDXC 0 0 [REMOVE B0 7 4BM6 SRL 0 9 8 4C6Q LDX 2 FX2 15 4CLB STO 0 ACOMMUNE3(2) [ST. REC.NO. 7 4D62 LDX 3 7 16 4DKL CALL 7 YMXB [FIND NEXT RECORD 7 4F5= LDX 7 3 17 4FJW MXAA ANDN 7 #777 [MASK OUT CELL PTR. 7 4G4G LDX 3 2 7 4GJ6 ADX 3 7 19 4H3Q BXE 4 1(3),MXCA [J. IF 1ST WD. OF NAME EQUAL. 19 4HHB MXAB LDX 0 0(3) [LD. PTR. TO NEXT CONCEPTUAL. 8 4J32 BZE 0 MXC 7 4JGL LDX 7 0 19 4K2= BRN MXAC1 [J TO LOOK AT THE NEXT CELL 19 4KFW MXC SMO FX2 [SET TO NOT HERE CONCEPTUAL. 20 4K_G STOZ ACOMMUNE1 [MARK CONCEPTUAL NOT IN CHAIN. 4 4LF6 MXCB 15 4LYQ LDX 0 BRECNO(2) [LD. REC.NO. 8 4MDB SMO FX2 15 4MY2 STO 0 ACOMMUNE3 [ST. REC.NO. 8 4NCL SMO FX2 16 4NX= STO 7 ACOMMUNE2 [ST. CELL PTR. 5 4PBW UP 19 4PWG MXABA LDN 7 BCONT [LD. BASE OF CONCEPTUAL CHAIN 8 4QB6 BRN MXC 18 4QTQ MXCA BXU 5 2(3),MXAB [J. IF 2ND. WD. UNEQUAL. 18 4R*B BXU 6 3(3),MXAB [J. IF 3RD. WD. UNEQUAL. 8 4RT2 SMO FX2 21 4S#L LDX 0 ACOMMUNE4 [LD. INDICATOR TO SAY IF IPB OR MPX. 19 4SS= BZE 0 MXDA [J. NO CHECK WILL BE MADE. 18 4T?W LDCH 6 6(3) [LD.WD.6 OF CONCEP CELL. 8 4THN ... LDX 1 FX1 18 4TRG BZE 6 MXD [J. IF NEUTRAL CONCEP. 8 4W?6 SBN 0 #30 17 4WQQ BNZ 0 MXD1 [J. NOT EQUAL TO IPB 8 4X=B SBN 6 #40 16 4XQ2 BZE 6 MXDA [J. CONCEP = IPB. 8 4Y9L MXD2 LDX 2 FX2 10 4YP= LDX 0 ACOMMUNE1(2) 8 4_8W BNZ 0 YB 9 4_NG YA LDX 2 FPTR(2) 9 5286 LDX 0 ATYPE(2) 9 52MQ ANDX 0 HALFTOP 10 537B BXE 0 XCPB(1),MXD2A 10 53M2 BXE 0 XCPB+1(1),YC 9 546L BXL 0 CACT,YA 8 54L= BRN XGEO1 11 555W YB MHUNTX 2,ACOMMUNE1(2) 10 55KG YC NAME 2,CPB,CUNI 10 5656 MXD2A LDX 5 ZJPARPER(1) 17 56JQ CALL 6 SUBWRITE [WRITE AND CLOSE IDF 18 56NM ... LDX 0 CONTEXT(2) [LD. CONTEXT WD. IN CPAT 20 56SJ ... ANDX 0 BIT11 [B11 = 1 PROGRAM ISSUED COMMAND 15 56YF ... BZE 0 MXD2B [J NOT PIC 7 574B ... LDN 7 2 21 578? ... FREELNKS ,7 [FREE DOWNS EX. ONLINE TO IDFONLIN 18 57#8 ... [ AND IDFONLIN TO IDFSEG. 7 57D5 ...MXD2B COMERRX 5 8 57J2 MXD1 SBN 6 #20 17 583L BNZ 6 MXD2 [J. NOT MULT.CONCEP. 16 58H= BRN MXDA [J. CONCEP.= MULT 18 592W MXD3 LDCT 6 #400 [SET B0 OF WORD 6 =IPB 8 59GG BRN MXD4 8 5=26 MXD SBN 0 #30 8 5=FQ BZE 0 MXD3 18 5=_B LDCT 6 #200 [SET B1 OF WORD 7 = MULT. 18 5?F2 MXD4 ORS 6 6(3) [ADD. IN THRU. INDICATOR. 8 5?YL MXDA LDN 0 #77 8 5#D= SMO FX2 9 5#XW STO 0 ACOMMUNE1 8 5*CG BRN MXCB 8 5*X6 XERO LDX 1 FX1 9 5BBQ CALL 6 ZRENAM 10 5BWB LDX 5 ZJPARAM(1) 10 5CB2 LDX 7 ZJPARNAM(1) 9 5CTL CALL 6 SUBWRITE 18 5C_H ... LDX 0 CONTEXT(2) [LD. CONTEXT WD. IN CPAT 21 5D5D ... ANDX 0 BIT11 [BIT 11 = 1 PROGRAM ISSUED COMMAND 15 5D9* ... BZE 0 XER0A [J NOT PIC 7 5D*= ... LDN 7 2 20 5DF7 ... FREELNKS ,7 [FREE DOWNS. EX. ONL TO IDFONLIN 18 5DK4 ... [ AND IDFONLIN TO IDFSEG 8 5DN_ ...XER0A COMERRX 5,7 8 5DSW XERO1 LDX 1 FX1 9 5F#G CALL 6 ZRENAM 10 5FS6 LDX 5 ZJSETP1(1) 9 5G?Q CALL 6 SUBWRITE 18 5GD8 ... LDX 0 CONTEXT(2) [LD. CONTEXT WD. IN CPAT 21 5GJL ... ANDX 0 BIT11 [BIT 11 = 1 PROGRAM ISSUED COMMAND 8 5GP4 ... BZE 0 XER02 7 5GTG ... LDN 7 2 15 5G_Y ... FREELNKS ,7 [FREE DOWNS 7 5H6B ...XER02 COMERRX 5 5 5H?2 SUBWRITE 8 5HQL SBX 6 FX1 7 5J== IDFWRITE 6 5JPW CLOSE 8 5K9G ADX 6 FX1 7 5KP6 EXIT 6 0 5 5L8Q ZRENAM 8 5LNB SBX 6 FX1 9 5M82 LDX 0 ATYPE(2) 9 5MML ANDX 0 HALFTOP 10 5N7= BXE 0 XCPB(1),XOUT 20 5NLW NAME 2,CPB,CUNI [RE-NAME IDF/COINF A CPB/CUNI. 8 5P6G XOUT ADX 6 FX1 7 5PL6 EXIT 6 0 4 5Q5Q # 4 5QKB # 19 5R52 # ENTERED FROM MSEARCH MACRO TO SEARCH FOR A UNIT,CI,LINE OR 16 5RJL # IDENTIFIER DEPENDING ON THE VALUE IN ACOMMUNE2 19 5S4= # ON ENTRY ACOMMUNE3 CONTAINS THE RECORD NO AND ACOMMUNE2 17 5SHW # CONTAINS THE CELL PTR (REL TO START OF REC) OF THE 19 5T3G # BASE OF THE SEARCH.ACOMMUNE4 IS -VE IF CI CHANNEL REQD,IN 19 5TH6 # WHICH CASE CIPROPNO IS IN LS 22BITS.IF ACOMMUNE4 IS +VE 16 5W2Q # LINE/IDENTIFIER/UNIT NO REQD IS IN LS 12 BITS 4 5WGB # 4 5X22 # 5 5XFL XIDF22 10 5X_= LDX 1 ACOMMUNE2(2) 10 5YDW LDX 5 ACOMMUNE4(2) 7 5YYG LDX 0 1 8 5_D6 SBN 0 BLINE 18 5_XQ BNG 0 YMSC [J IF TO HUNT UNIT CHAIN 20 62CB STOZ ACOMMUNE5(2) [MARKER TO HUNT LINE/IDENTIFIER 8 62X2 BRN YMSD 17 63BL YMSC STO 1 ACOMMUNE5(2) [HUNT UNIT/CI CHANNEL 16 63W= YMSD CALL 7 YNEWMXB [FIND BASE RECORD 17 64*W ADX 1 2 [ABSOLUTE BASE PTR 8 64TG YMSF LDX 1 0(1) 17 65*6 BZE 1 YMSY [J IF END OF CHAIN 7 65SQ LDX 3 5 18 66#B BPZ 1 YMSL [J IF NO NEW RECORD REQD 18 66S2 LDX 6 1 [PRESERVE IDF CELL PTR 16 67?L LDX 2 FX2 [FOR USE BY MXB 14 67R= LDXC 1 1 [CLEAR B0 7 68=W SRL 1 9 17 68QG STO 1 ACOMMUNE3(2) [STORE RECORD NO REQD 16 69=6 CALL 7 YMXB [FIND NEXT RECORD 7 69PQ LDX 1 6 8 6=9B YMSL ANDN 1 #777 8 6=P2 SMO FX2 19 6?8L STO 1 ACOMMUNE2 [STORE CELL PTR WITHIN REC 17 6?N= ADX 1 2 [ABSOLUTE CELL PTR 8 6#7W SMO FX2 18 6#MG LDX 0 ACOMMUNE5 [MARKER OF TYPE OF SEARCH 19 6*76 BZE 0 YMSS [J TO COMPARE LINE/IDENT NOS 9 6*LQ LDX 0 BTYPE(1) 16 6B6B ANDN 0 #7777 [GEOG NO OR ZERO 8 6HG= BRN YMSU 18 6H_W YMSS LDX 0 BNO(1) [LINE/IDENTIFIER NUMBER 8 6JFG ANDN 0 #7777 19 6J_6 YMSU ANDN 3 #7777 [ONLY COMPARE BOTTOM 12 BITS 16 6KDQ YMSV BXU 0 3,YMSF [J IF NO MATCH 8 6KYB LDN 1 #77 8 6LD2 YMSY SMO FX2 18 6LXL STO 1 ACOMMUNE1 [INDICATE IF DEVICE FOUND 5 6MC= UP 4 6MWW # 4 6NBG # 16 6NW6 # THIS ENTRY POINT SERVICES THE MFREECELL MACRO. 17 6P*Q # THE CELL FREED IS CHAINED INTO THE CORRECT FREE 17 6PTB # CHAIN.ON ENTRY ACOMMUNE3 CONTAINS THE RECORD NO, 17 6Q*2 # AND ACOMMUNE2 THE WORD PTR WITHIN THE RECORD,OF 16 6QSL # THE WORD WHICH POINTS TO THE CELL TO BE FREED 18 6R#= # AND WILL,ON EXIT,CONTAIN IDF PTR TO NEXT CELL ON CHAIN 4 6RRW # 4 6S?G # 5 6SR6 XIDF23 10 6T=Q LDX 5 ACOMMUNE2(2) 10 6TQB LDX 6 ACOMMUNE3(2) 21 6W=2 CALL 7 YNEWMXB [FIND RECORD SPECIFIED IN ACOMMUNE3 16 6WPL ADX 2 5 [ABSOLUTE WD PTR 18 6X9= LDX 3 0(2) [J IF CELL TO BE FREED 18 6XNW BPZ 3 YMAF [IS IN THE SAME RECORD 14 6Y8G LDXC 0 3 [UNSET B0 16 6YN6 SRL 0 9 [NEXT RECORD REQD 16 6_7Q LDX 2 FX2 [FOR USE BY MXB 10 6_MB STO 0 ACOMMUNE3(2) 16 7272 CALL 7 YMXB [FIND NEXT RECORD 8 72LL BRN YMAG 18 736= YMAF SBX 2 5 [PTR TO START OF RECORD 8 73KW YMAG ANDN 3 #777 19 745G ADX 2 3 [ABS PTR TO CELL TO BE FREED 19 74K6 LDX 4 0(2) [PTR TO CELL AFTER FREE CELL 7 754Q LDX 1 2 18 75JB SBX 2 3 [PTR TO START OF RECORD 8 7642 LDX 0 0(2) 18 76HL STO 0 0(1) [PUT CELL IN FREE CHAIN 18 773= LDX 0 BRECNO(2) [RECORD NO OF FREE CELL 7 77GW SLL 0 9 18 782G ADX 0 3 [STORE PTR TO NEW FREE 17 78G6 STO 0 0(2) [CELL IN BASE CELL 20 78_Q BZE 4 YMAM [J IF NO FURTHER CELL ON CHAIN 16 79FB LDXC 0 4 [UNSET B0 IF SET 20 79_2 SRL 0 9 [REC NO OF CELL AFTER FREED CELL 20 7=DL ORX 4 GSIGN [SET B0 (IF NEC) TO SHOW DIFF REC 9 7=Y= BXU 0 6,YMAM 20 7?CW ERX 4 GSIGN [UNSET B0 IF RECORDS ARE THE SAME 19 7?XG YMAM BXE 6 BRECNO(2),YMAW [J IF ONLY ONE RECORD USED 8 7#C6 SMO FX2 9 7#WQ STO 6 ACOMMUNE3 17 7*BB CALL 7 YNEWMXB [FIND ORIGINAL RECORD 19 7*W2 YMAW ADX 2 5 [ABS WORD PTR IN ORIGINAL REC 8 7B*L STO 4 0(2) 5 7BT= UP 4 7C#W # 10 7CSG MENDAREA 35,K99IDFSEG 4 7D#6 # 4 7DRQ #END 6 ____ ...667541260001