22FL SEG NNORM,8,MIKE COLLINS,FILESTORE 22^= SEGENTRY K1NNORM,ZFULL [FULL NAME FROM FABSNB TO BE TRANSFERRED 23DW SEGENTRY K2NNORM,ZTWO [TWO NAMES FROM FABSNB TO BE TRANSFERRED 23YG SEGENTRY K3NNORM,ZLOC [LOCAL NAME ONLY FROM FABSNB OR FLOCNB 24D6 [TO BE TRANSFERRED 24XQ [THE SEGMENT CAN BE CONVENIENTLY SPLIT INTO TWO PARTS. THE FIRST 25CB [CONVERTS THE FABSNB BLOCK,IF NECESSARY,INTO ONE CONTAINING ONLY ONE 25X2 [USER NAME. THE SECOND,BEGINNING AT ZREADY,TRANSFERS THE REQUIRED DATA 26BL [TO THE ADATA CREADL BLOCK. 26W= TABS #44400000 27*W TLOC #44430000 27TG SIX +6 28*6 TECNO +10000 28SQ TEN +10 [*** SUBROUTINES *** 294J ...SEVENPT3 0:7.3 29#B PACKCREADL [PACKS REQUIRED CHARS. INTO ADATA,CREADL BLOCK AND 29S2 [LENGTHENS BLOCK IF NECESSARY. 2=?L [ENTRY CONDS: X5-LINK X6-NO. OF CHARS. AWORK1,=0-NAME 2=R= [ENTRY,=CHARS.-CHAR.ENTRY. AWORK3-BLOCK SUBTYPE AWORK4- 2?=W [NAME ADDRESS X3=FABSNB/FLOCNB ADD. X2=FX2 2?QG SBX 5 FX1 2#=6 MHUNTW 1,ADATA,CREADL 2#PQ LDX 7 ALOGLEN(1) 2*9B SBN 7 CPDATA-A1 2*P2 SLL 7 2 [CHAR. SPACE AVAIL. IN CREADL BLOCK 2B8L SBX 7 A1(1) 2BN= SBX 7 6 2C7W BPZ 7 ZROOM [J IF ENOUGH SPACE 2CMG SBS 3 AWORK4(2) [REL. ELEMENT ADD. 2D76 LDX 3 1 2DLQ LDX 7 ALOGLEN(3) 2F6B ADN 7 8 [NEW LENGTH 2FL2 ALTLENG 3,7,ZALTL [CORRECT LENGTH 2G5L MHUNTW 1,ADATA,CREADL 2GK= BRN ZFINDBL 2H4W ZALTL 2HJG MHUNTW 2,ADATA,CREADL 2J46 EXIT 1 0 2JHQ ZFINDBL 2K3B MFIND 3,AWORK3(2) 2KH2 ADS 3 AWORK4(2) [RESTORE ELEMENT ADD. 2L2L ZROOM 2LG= LDX 7 AWORK1(2) 2L^W BNZ 7 ZWORD [J IF CHAR. TRANSFER 2MFG LDX 7 AWORK4(2) [NAME ADD. 2M^6 BRN ZLDCH 2NDQ ZWORD 2NYB LDN 7 AWORK1(2) [CHAR. ADD 2PD2 ZLDCH 2PXL LDX 0 A1(1) [CREADL 2QC= SRC 0 2 2QWW ADN 0 CPDATA(1) [POINT TO FIRST FREE CHAR LOCN. 2RBG ADS 6 A1(1) [UPDATE CHAR. COUNT 2RW6 LDX 1 6 [NO. OF CHARS. 2S*Q MVCH 7 0(1) [MOVE CHARS. 2STB ADX 5 FX1 2T*2 EXIT 5 0 2TSL PACKNO [CONVERTS NUMBER FROM A BINARY TO A DECIMAL FORM 2W#= [SUITABLE FOR THE SUBROUTINE PACKCREADL 2WRW [ENTRY CONDS: X7 CONTAINS THE BINARY NUMBER 2X?G LDN 0 0 2XR6 SMO FX1 2Y=Q DVR 7 TECNO [CONVERT NO. TO BINARY FRACTION 2YQB LDCT 1 #200 [ROUND UP 2^=2 LDN 2 7 [ADD. OF CONVERTED NO. 2^PL MODE 1 329= ZNOS CBD 0 0(2) [CONVERT 32NW BCHX 2 £ [INCREMENT CHAR. ADD. 32X6 ... SMO FX1 335B ... BXU 2 SEVENPT3,ZNOS [J IF 3 CHARS. NOT YET CONVERTED 33?L ... MODE 0 33FW ... CBD 0 0(2) 33N6 LDX 2 FX2 347Q LDX 6 ACES [SPACES 34MB LDN 1 4 [COUNT 3572 ZMONOS 35LL SLC 67 6 366= BXU 6 ACES,ZMOVNO [J IF CHAR. SHIFTED IS NOT A SPACE 36KW BCT 1 ZMONOS 375G EXIT 5 1 37K6 ZMOVNO 384Q SRC 67 6 38JB LDX 6 1 [NO. OF CHARS. 3942 STO 7 AWORK1(2) [CONVERTED NO. 39HL EXIT 5 0 3=3= PACKLANG [COUNTS THE NO. OF CHARS. IN A LANGUAGE 3=GW [CODE AS REQUIRED BY PACKCREADL 3?2G [ENTRY CONDS: X7 CONTAINS LANG. CODE 3?G6 STO 7 AWORK1(2) [STORE CODE 3?^Q LDN 6 4 [COUNT 3#FB LDX 0 ACES [SPACES 3#^2 ZMOLA 3*DL SRL 70 6 3*Y= BXU 0 ACES,ZOUT [J IF CHAR. SHIFTED IS NOT A SPACE 3BCW BCT 6 ZMOLA 3BXG ZOUT EXIT 5 0 3CC6 PACKNAME [PACKS NAME(S) AND DETAILS FROM FABSNB/FLOCNB INTO 3CWQ [CREADL BLOCK 3DBB [ENTRY CONDS: X1-FIRST NAME-ELEMENT X4-LOCAL/USER PARAM 3DW2 [X5-LINK X2-FX2 X3-FABSNB/FLOCNB ADD. 3F*L SBX 5 FX1 3FT= STO 5 AWORK2(2) [LINK 3G#W ZAGAIN 3GSG STO 1 AWORK4(2) [STORE ADD. OF FIRST ELEMENT 3H#6 LDN 7 #20 [SPACE 3HRQ LDN 6 12 [CHAR. COUNT 3J?B ZLOOP [COUNT CHARS. 3JR2 SLC 1 2 3K=L SBN 1 1 3KQ= SRC 1 2 3L9W LDCH 0 3(1) 3LPG BXU 0 7,ZMOVCHAS 3M96 BCT 6 ZLOOP 3MNQ BRN ZGEOERR 3N8B ZMOVCHAS 3NN2 STOZ AWORK1(2) [INDICATES NAME, X6=NO. OF CHARS. 3P7L CALL 5 PACKCREADL [TRANSFER NAME, AWORK4=ADD. OF NAME 3PM= BPZ 4 ZMORE [J IF LOCAL NAME(S) 3Q6W LDX 5 AWORK2(2) 3QLG ADX 5 FX1 3R66 EXIT 5 0 3RKQ ZMORE 3S5B LDN 6 1 3SK2 BXE 4 6,ZLAST [J. IF LAST LOC. 3T4L LDCT 0 #360 3TJ= STO 0 AWORK1(2) 3W3W CALL 5 PACKCREADL 3WHG BRN ZFIN 3X36 ZLAST 3XGQ LDCT 0 #300 [LEFT PARENTHESIS 3Y2B STO 0 AWORK1(2) 3YG2 CALL 5 PACKCREADL 3Y^L LDX 1 AWORK4(2) 3^F= LDX 7 4(1) [GEN. NO. 3^YW BZE 7 ZNOGEN 42DG CALL 5 PACKNO [CONVERT NO. 42Y6 CALL 5 PACKCREADL [TRANSFER NO. 43CQ ... LDX 1 AWORK4(2) 43XB ...ZNOGEN 45B= LDCT 0 #370 [ SOLIDUS 45TW STO 0 AWORK1(2) 46*G LDN 6 1 46T6 CALL 5 PACKCREADL 47#Q LDX 1 AWORK4(2) 47FY ... LDX 7 5(1) [LANG. CODE 47M6 ... BXE 7 ACES,ZNOLAN 47PQ ... BZE 7 ZNOLAN 47SB LDX 7 5(1) 48#2 CALL 5 PACKLANG [CONVERT CODE 48RL CALL 5 PACKCREADL [TRANSFER CODE 49?= ZNOLAN 49QW LDX 7 ATYPE(3) 4==G ANDN 7 #2401 4=Q6 BZE 7 ZNOMAG 4?9Q ... LDEX 7 3(1) [REEL NO. 4BM6 CALL 5 PACKNO 4C6Q CALL 5 PACKCREADL 4CLB ZNOMAG 4D62 LDCT 0 #310 [RIGHT PARENTHESIS 4DKL STO 0 AWORK1(2) 4F5= LDN 6 1 4FJW CALL 5 PACKCREADL 4G4G ZFIN LDX 1 AWORK4(2) [START ADD. OF NAME 4GJ6 ADN 1 6 4H3Q BCT 4 ZAGAIN [J IF MORE LOCAL NAMES 4HHB LDX 5 AWORK2(2) 4J32 ADX 5 FX1 4JGL EXIT 5 0 4K2= [*** END OF SUBROUTINES *** 4KFW ZLOC NGN 6 1 4K^G LDX 3 2 [LOC PARAM 4LF6 SEARCH [FIND FABSNB OR FLOCNB 4LYQ LDX 3 FPTR(3) 4MDB LDX 4 ATYPE(3) 4MY2 ANDX 4 HALFTOP 4NCL BXE 4 TABS(1),ZFND 4NX= BXE 4 TLOC(1),ZFND 4PBW BXL 4 CACT,SEARCH 4PWG ZGEOERR 4QB6 GEOERR 1,UNNORM 4QTQ ZTWO 4R*B LDN 6 1 [TWO PARAM 4RT2 BRN ZHUN 4S#L ZFULL 4SS= LDN 6 0 [FULL PARAM 4T?W ZHUN 4TRG HUNT 3,FILE,FABSNB 4W?6 BNG 3 ZGEOERR [J IF NOT FOUND 4WQQ ZFND LDX 4 ATYPE(3) [SUBTYPE 4X=B STO 4 AWORK3(2) [SUBTYPE STORED 4XQ2 ANDX 4 HALFTOP 4Y9L #SKI K6NNORM>599-599 4YP= TRACEVER 6,NORMTYPE 4^8W BXU 4 TABS(1),ZFLOC [J IF FLOCNB 4^NG [FABSNB FORMAT CHECK *** 5286 LDX 0 HDREC(3) 52MQ SBN 0 4 537B BZE 0 ZREADY [J IF NO CONVERSION REQD. 53M2 BNG 0 ZGEOERR 546L DVS 7 SIX(1) 54L= BNZ 7 ZGEOERR [EXIT IF REM # 0 555W ...[FABSNB CONVERSION **** 55KG ... LDX 4 HDREC(3) 5656 ... ADN 4 HDREC(3) [END OF BLOCK +1 56JQ ... LDN 2 A1+4-6(3) [PSEUDO 1ST. NAME 583L ZCHECK 58C* ... SBN 4 6 [ADD. NEXT NAME 596R ... BXE 2 4,ZREADY [J IF END OF BLOCK 59GG SMO 4 5=26 LDX 0 0 [NEXT NAME 5=FQ ... BXU 0 HCOLUSER,ZCHECK [LOOP IF USER NAME 5=^B ZMOVUE 5?L8 ... ADN 4 1 5?YL LDN 5 A1+1(3) [DESTINATION 5#D= MOVE 4 3 [MOVE USER 5#XW ADN 4 5 [FIRST LOCAL NAME 5*CG ADN 5 3 [DESTINATION 5*JN ... LDX 2 HDREC(3) 5*PW ... ADN 2 HDREC(3) 5*X6 SBX 2 4 [LOCAL NAMES 5BBQ BZE 2 ZALTER [J IF NO LOCAL NAMES 5BWB LDX 7 ALOGLEN(3) 5CB2 SBX 7 HDREC(3) [EXTRA DATA 5CTL BZE 7 ZMOVLOC [J IF NO EXTRA DATA 5D*= BNG 7 ZGEOERR 5DSW BXGE 7 JTHREE,ZGEOERR [EXIT IF EXTRA DATA >2 WDS. 5F#G ADX 2 7 5FS6 ZMOVLOC 5G?Q MOVE 4 0(2) [MOVE ALL LOCAL DATA 5GRB ZALTER [CORRECT LENGTH OF FABSNB 5H?2 SBX 4 5 5HQL SBS 4 HDREC(3) 5J== LDN 7 4(2) 5JPW ALTLENG 3,7 5K9G HUNT 3,FILE,FABSNB 5KP6 [DATA IS NOW IN A STATE TO BE TRANSFERRED TO CREADL BLOCK **** 5L8Q ZREADY 5LNB LDX 1 FX1 5M82 LDX 2 FX2 5MML BNG 6 ZLOCFAB [J IF LOC 5N7= BZE 6 ZALL [J IF FULL 5NLW LDX 7 HDREC(3) [MUST BE TWO 5P6G BXL 7 TEN(1),ZGEOERR [EXIT IF LENGTH # 10 5PL6 BXE 7 TEN(1),ZALL 5Q5Q LDN 1 HDREC(3) 5QKB ADX 1 HDREC(3) 5R52 SBN 1 12 5RJL LDN 4 2 5S4= BRN ZLAM 5SHW ZALL 5T3G LDCT 0 #120 [COLON 5TH6 STO 0 AWORK1(2) 5W2Q LDN 6 1 5WGB CALL 5 PACKCREADL [TRANSFER CHAR. 5X22 NGN 4 1 5XFL LDN 1 A1+1(3) 5X^= CALL 5 PACKNAME [PACK USER NAME 5YDW LDX 5 HDREC(3) 5YYG SBN 5 4 5^D6 BZE 5 ZUP 5^XQ SMO FX1 62CB DVS 4 SIX 62X2 LDX 4 5 [NO. OF LOCAL NAMES 63BL LDCT 0 #360 63W= STO 0 AWORK1(2) 64*W LDN 6 1 64TG CALL 5 PACKCREADL 65*6 LDN 1 A1+4(3) [FIRST ELEMENT 65SQ ZLAM CALL 5 PACKNAME 66#B ZUP UP 66S2 ZLOCFAB [LAST LOCAL NAME OF FABSNB REQUIRED 67?L LDX 1 HDREC(3) 67R= SBN 1 4 68=W BZE 1 ZGEOERR 68QG ADN 1 HDREC-2(3) 69=6 BRN ZFLAB 69PQ ZFLOC 6=9B LDX 1 ALOGLEN(3) [EXIT IF LENGTH OF FLOCNB IS NOT 6=P2 BXE 1 EIGHT,ZNAM [EQUAL TO 6 OR 8 6?8L SMO FX1 6?N= BXU 1 SIX,ZGEOERR 6#7W ZNAM 6#MG LDN 1 A1(3) [FIRST ELEMENT 6*76 ZFLAB 6*LQ LDN 4 1 [ONE NAME 6B6B BRN ZLAM [PACK NAME 6BL2 MENDAREA 30,K99NNORM 6C5L #END 6CK= ^^^^ ...750377000012