{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: NNORM83)}}
====== NNORM83 ======
(George Source)
**Macros used:** [[george:macro:ALTLENG|ALTLENG]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT|HUNT]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFIND|MFIND]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SIX|SIX]], [[george:macro:TRACEVER|TRACEVER]], [[george:macro:UP|UP]]
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