NNORM83

(George Source)

Macros used: ALTLENG, BXE, BXGE, BXL, BXU, GEOERR, HUNT, MENDAREA, MFIND, MHUNTW, SEG, SEGENTRY, SIX, TRACEVER, UP

NNORM83.txt
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
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1