User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:sfs

Deck SFS

5 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.sfs     +++|          IDENT  SFS,SFSS,,01,00
00002  M01S00002.sfs     +++|          ABS
00003  M01S00003.sfs     +++|          SST
00004  M01S00004.sfs     +++|          TITLE  SFS - SPECIAL SYSTEM FILE SUPERVISOR.
00005  M01S00005.sfs     +++|          SYSCOM B1
00006  M01S00006.sfs     +++|          SPACE  4
00007  M01S00007.sfs     +++|*COMMENT  SFS - SPECIAL SYSTEM FILE SUPERVISOR.
Line S00008 Modification History
M01 (Added by) sfs
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00008  M02S00008.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1972.
00009  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00010  M01S00009.sfs     +++|          SPACE  4
00011  M01S00010.sfs     +++|***       SFS - SPECIAL SYSTEM FILE SUPERVISOR.
00012  M01S00011.sfs     +++|*         D. A. HIVELEY.     72/05/23.
00013  M01S00012.sfs     +++|          SPACE  4
00014  M01S00013.sfs     +++|***       SFS PROVIDES MACROS AND A FUNCTION PROCESSOR FOR COMMON
00015  M01S00014.sfs     +++|*         ROUTINES THAT PERFORM BASIC TABLE MANAGEMENT, DATA
00016  M01S00015.sfs     +++|*         MANIPULATION AND I/O PROCESSING FOR THE SPECIAL SYSTEM FILE
00017  M01S00016.sfs     +++|*         PROCESSORS, WHICH PROCESS TREE STRUCTURED FILES.
00018  M01S00017.sfs     +++|*         SFS MUST BE LOADED AS A 01,00 OVERLAY TO ONE OF THE SYSTEM
00019  M01S00018.sfs     +++|*         FILE PROCESSORS.
00020  M01S00019.sfs     +++|          SPACE  4
00021  M01S00020.sfs     +++|***       SFS IS DESIGNED TO PROCESS TREE-STRUCTURED FILES OF A GIVEN
00022  M01S00021.sfs     +++|*         FORMAT.  THE FUNCTIONS ARE DESIGNED TO PROCESS ANY NUMBER
00023  M01S00022.sfs     +++|*         LEVELS OF TREE STRUCTURE, HOWEVER, TABLE SPACE IS ONLY
00024  M01S00023.sfs     +++|*         ALLOCATED FOR A THREE-LEVEL TREE STRUCTURED FILE (3 DIRECTORY
00025  M01S00024.sfs     +++|*         LEVELS + 1 DATA LEVEL).
00026  M01S00025.sfs     +++|*
00027  M01S00026.sfs     +++|*         THE FIRST WORD OF EACH RECORD ON THE FILE IS THE CONTROL WORD
00028  M01S00027.sfs     +++|*         CONTAINING SUFFICIENT INFORMATION TO DESCRIBE THE DATA WITHIN
00029  M01S00028.sfs     +++|*         THE RECORD.  THE SECOND WORD IS NOT USED FOR MOST RECORDS
00030  M01S00029.sfs     +++|*         (LEVEL-0, RECORD 1, WORD 2 CONTAINS FILE CREATION AND UPDATE
00031  M01S00030.sfs     +++|*         DATES, AND A 24 BIT FIELD TO BE USED BY THE PROCESSOR PROGRAM.
00032  M01S00031.sfs     +++|*         THE THIRD WORD CONTAINS THE LINKAGE (RANDOM ADDRESS
00033  M01S00032.sfs     +++|*         POINTER) TO THE NEXT LOGICAL BLOCK ON THAT LEVEL, IF ONE IS
00034  M01S00033.sfs     +++|*         PRESENT.  THE REMAINING WORDS IN THE RECORD ARE DIRECTORY
00035  M01S00034.sfs     +++|*         ENTRIES FOR DIRECTORY LEVEL RECORDS.  A TOTAL OF 63 WORDS
00036  M01S00035.sfs     +++|*         (60 WORDS OF ENTRIES + 3 CONTROL WORDS) CAN BE USED IN EACH
00037  M01S00036.sfs     +++|*         RECORD IN THE DIRECTORY LEVELS.  FOR THE DATA LEVEL, THE
00038  M01S00037.sfs     +++|*         CONTROL WORD SHOULD BE COMPATIBLE WITH THE CONTROL WORDS FOR
00039  M01S00038.sfs     +++|*         DIRECTORY LEVELS.  THE REMAINDER CAN BE ANY LENGTH AND FORMAT
00040  M01S00039.sfs     +++|*         DESIRED.  BECAUSE OF THIS FLEXIBLE FORMAT, THE PROCESSOR
00041  M01S00040.sfs     +++|*         PROGRAM MUST HANDLE I/O OF THE DATA-LEVEL RECORD.  HOWEVER,
00042  M01S00041.sfs     +++|*         IF THE DATA-LEVEL IS CONSTRUCTED SIMILAR TO THE DIRECTORY-
00043  M01S00042.sfs     +++|*         LEVEL RECORDS, SFS FUNCTIONS CAN BE USED TO PERFORM THE I/O.
00044  M01S00043.sfs     +++|*         THE INFORMATION IN ALL LEVELS IS MAINTAINED IN
00045  M01S00044.sfs     +++|*         COLLATED SEQUENCE.
00046  M01S00045.sfs     +++|*
00047  M01S00046.sfs     +++|*         CONTROL WORD FORMAT IS AS FOLLOWS -
00048  M01S00047.sfs     +++|*
00049  M01S00048.sfs     +++|*T        12/DL,12/WIR,12/WPE,12/NOE,12/FWAD
Figure

01112232429FWADNOEWPE303536474859WPEWIRDL

00050  M01S00049.sfs     +++|*                DL  = DATA LEVEL.
00051  M01S00050.sfs     +++|*                WIR = WORDS IN RECORD.
00052  M01S00051.sfs     +++|*                WPE = WORDS PER ENTRY.
00053  M01S00052.sfs     +++|*                NOE = NUMBER OF ENTRIES.
00054  M01S00053.sfs     +++|*                FWAD = FIRST WORD ADDRESS OF DATA ENTRIES.
00055  M01S00054.sfs     +++|*
00056  M01S00055.sfs     +++|*         THE 0 AND 1 DIRECTORY LEVELS CORRESPOND TO THE PRIMARY LEVEL
00057  M01S00056.sfs     +++|*         OF THE TREE.  THE ENTRIES IN THE 0-LEVEL CONSIST OF THE FIRST
00058  M01S00057.sfs     +++|*         ENTRY (AND CORRESPONDING RANDOM ADDRESS) OF EACH 1-LEVEL
00059  M01S00058.sfs     +++|*         RECORD.  ALL PRIMARY ENTRIES CAN BE FOUND IN THE 1-LEVEL
00060  M01S00059.sfs     +++|*         DIRECTORY.  THIS METHOD ENABLES QUICKER ACCESS TO A GIVEN
00061  M01S00060.sfs     +++|*         PRIMARY ENTRY.  THE FIRST SECTOR OF THE FILE IS DEFINED TO BE
00062  M01S00061.sfs     +++|*         THE FIRST 0-LEVEL DIRECTORY RECORD WHICH IS LINKED TO THE
00063  M01S00062.sfs     +++|*         NEXT 0-LEVEL RECORD.  EXCEPT FOR THE PRIMARY LEVEL, THERE
00064  M01S00063.sfs     +++|*         EXISTS 1 DIRECTORY LEVEL FOR EACH TREE LEVEL TERMINATING
00065  M01S00064.sfs     +++|*         WITH THE DATA LEVEL.
00066  M01S00065.sfs     +++|          SPACE  4
00067  M01S00066.sfs     +++|***       TREE-STRUCTURE FILE LAYOUT.
00068  M01S00067.sfs     +++|*
00069  M01S00068.sfs     +++|*         LEVEL-0        LEVEL-1        LEVEL-2        DATA-LEVEL
00070  M01S00069.sfs     +++|* RECORD   0              1              3              5
00071  M01S00070.sfs     +++|*         ********       ********       ********       *********
00072  M01S00071.sfs     +++|*         *      *       *      *       *      *       *       *
00073  M01S00072.sfs     +++|*         *CH1   *       *CH1   *       *P1    *       *CONTROL*
00074  M01S00073.sfs     +++|*         *     1*.......*     3*.......*     5*.......*FIELDS *
00075  M01S00074.sfs     +++|*         *CH7   *       *CH2   *       *P2    *       *       *
00076  M01S00075.sfs     +++|*         *     2*.      *  ... *.      *  ... *.      *U1     *
00077  M01S00076.sfs     +++|*         *  ... * .     *  ... * .     *  ... * .     *U2     *
00078  M01S00077.sfs     +++|*         *  ... *. .    *      *. .    *      *. .    *  ...  *
00079  M01S00078.sfs     +++|*         ******** . .   ******** . .   ******** . .   *********
00080  M01S00079.sfs     +++|*                   . .            .              .
00081  M01S00080.sfs     +++|*                      .  2              4              6
00082  M01S00081.sfs     +++|*                       .********       ********       *********
00083  M01S00082.sfs     +++|*                        *      *       *      *       *       *
00084  M01S00083.sfs     +++|*                        *CH7   *       *P1    *       *CONTROL*
00085  M01S00084.sfs     +++|*                        *     4*.......*     6*.......*FIELDS *
00086  M01S00085.sfs     +++|*                        *CH8   *       *P2    *       *       *
00087  M01S00086.sfs     +++|*                        *  ... *.      *  ... *.      *U1     *
00088  M01S00087.sfs     +++|*                        *  ... * .     *  ... * .     *U2     *
00089  M01S00088.sfs     +++|*                        *      *. .    *      *. .    *  ...  *
00090  M01S00089.sfs     +++|*                        ******** . .   ******** . .   *********
00091  M01S00090.sfs     +++|*                                  .              .
00092  M01S00091.sfs     +++|*         CHN = PRIMARY ENTRIES.
00093  M01S00092.sfs     +++|*         PN  = SECONDARY ENTRIES RELATED TO SPECIFIC PRIMARY ENTRY.
00094  M01S00093.sfs     +++|*         UN  = TERTIARY ENTRIES RELATED TO SPECIFIC SECONDARY ENTRY.
00095  M01S00094.sfs     +++|          SPACE  4
00096  M01S00095.sfs     +++|*CALL     COMCMAC
00097  M01S00001.v23l617 +++|*CALL     COMCDCM
00098  M01S00096.sfs     +++|*CALL     COMCMTM
00099  M01S00097.sfs     +++|          LIST   X
00100  M01S00098.sfs     +++|*CALL     COMSSFS
00101  M01S00099.sfs     +++|          LIST   -X
00102  M01S00001.ns2538  +++|          SPACE  4,10
00103  M01S00002.ns2538  +++|****      ASSEMBLY CONSTANTS.
00104  M01S00100.sfs     +++|
00105  M01S00101.sfs     +++|
00106  M01S00003.ns2538  +++| MWK$     EQU    1           DEFINE MULTIPLE WORD SORT KEY FOR *GMS*
00107  M01S00102.sfs     +++| OV       EQU    1           OVERLAY TYPE
00108  M01S00004.ns2538  +++|****
00109  M01S00103.sfs     +++|          TITLE  PROCESSOR PROGRAM COMMUNICATION AREA.
00110  M01S00104.sfs     +++| SFSS     EQU    FUNC
00111  M01S00105.sfs     +++|
00112  M01S00106.sfs     +++|
00113  M01S00107.sfs     +++|          IDIRC              INITIALIZE DIRECT CELLS
00114  M01S00108.sfs     +++|
00115  M01S00109.sfs     +++|
00116  M01S00110.sfs     +++|          ITAB   0,0,0,0     INITIALIZE TABLES
00117  M01S00111.sfs     +++|          TITLE  FUNCTION PROCESSOR CALL.
00118  M01S00112.sfs     +++| LOV      SPACE  4
00119  M01S00113.sfs     +++|          ERRNG  OVLA-.3-1
00120  M01S00114.sfs     +++|          SPACE  4
00121  M01S00115.sfs     +++|**        FUNCTION PROCESSOR.
00122  M01S00116.sfs     +++|*
00123  M01S00117.sfs     +++|*         (B5)   FUNCTION NUMBER.
00124  M01S00118.sfs     +++|*
00125  M01S00119.sfs     +++|*         USES   A - 2, 7.
00126  M01S00120.sfs     +++|*                X - 2, 7.
00127  M01S00121.sfs     +++|*                B - 1, 5.
00128  M01S00122.sfs     +++|
00129  M01S00123.sfs     +++|
00130  M01S00124.sfs     +++|          ORG    FUNC
00131  M01S00125.sfs     +++|*FUNC
00132  M01S00126.sfs     +++|          PS                 ENTRY/EXIT
00133  M01S00127.sfs     +++|          SX2    B5-MAXT
00134  M01S00128.sfs     +++|          PL     X2,FUNC1    IF FUNCTION NUMBER EXCEEDS MAXIMUM
00135  M01S00129.sfs     +++|          SA2    B5+FUNCT
00136  M01S00130.sfs     +++|          SB5    X2
00137  M01S00131.sfs     +++|          SA2    FUNC
00138  M01S00132.sfs     +++|          BX7    X2
00139  M01S00133.sfs     +++|          SA7    B5
00140  M01S00134.sfs     +++|          SB5    B5+B1
00141  M01S00135.sfs     +++|          JP     B5
00142  M01S00136.sfs     +++|
00143  M01S00137.sfs     +++| FUNCA    DATA   C* ILLEGAL SFS FUNCTION.*
00144  M01S00138.sfs     +++| FUNC1    SX2    FUNCA
00145  M01S00139.sfs     +++|          MESSAGE X2
00146  M01S00140.sfs     +++|          ABORT
00147  M01S00141.sfs     +++|
00148  M01S00142.sfs     +++| FUNCT    INDEX  CON,MAXT,( )
00149  M01S00143.sfs     +++|          INDEX  ,ASCT,(/ASC/)
00150  M01S00144.sfs     +++|          INDEX  ,SCIT,(/SCI/)
00151  M01S00145.sfs     +++|          INDEX  ,ANBT,(/ANB/)
00152  M01S00146.sfs     +++|          INDEX  ,CCWT,(/CCW/)
00153  M01S00147.sfs     +++|          INDEX  ,SBTT,(/SBT/)
00154  M01S00148.sfs     +++|          INDEX  ,SPBT,(/SPB/)
00155  M01S00149.sfs     +++|          INDEX  ,PNAT,(/PNA/)
00156  M01S00150.sfs     +++|          INDEX  ,PNET,(/PNE/)
00157  M01S00151.sfs     +++|          INDEX  ,DZET,(/DZE/)
00158  M01S00152.sfs     +++|          INDEX  ,MWST,(/MWS/)
00159  M01S00153.sfs     +++|          INDEX  ,SDFT,(/SDF/)
00160  M01S00154.sfs     +++|          INDEX  ,SFTT,(/SFT/)
00161  M01S00155.sfs     +++|          INDEX  ,STBT,(/STB/)
00162  M01S00156.sfs     +++|          INDEX  ,BLDT,(/BLD/)
00163  M01S00157.sfs     +++|          INDEX  ,RBAT,(/RBA/)
00164  M01S00158.sfs     +++|          INDEX  ,UDDT,(/UDD/)
00165  M01S00159.sfs     +++|          INDEX  ,WTBT,(/WTB/)
00166  M01S00160.sfs     +++|          LOC    *O
00167  M01S00161.sfs     +++|          TITLE  INPUT PROCESSING ROUTINES.
00168  M01S00162.sfs     +++|***       TO PROCESS INPUT DIRECTIVES, A CALL TO *ASC* IS ALL
00169  M01S00163.sfs     +++|*         THAT IS REQUIRED.  *ASC* ASSEMBLES CHARACTERS UNTIL A
00170  M01S00164.sfs     +++|*         SEPARATOR IS ENCOUNTERED UP TO A MAXIMUM OF TEN CHARACTERS
00171  M01S00165.sfs     +++|*         PER CALL.
00172  M01S00166.sfs     +++|*         THE CONTENTS OF *B6* AND *ET* REFLECT FILE
00173  M01S00167.sfs     +++|*         POSITION UPON EXIT.
00174  M01S00168.sfs     +++|*
00175  M01S00169.sfs     +++|*         DEPENDING ON STATUS OF *OP* AND *OT* DATA WILL BE
00176  M01S00170.sfs     +++|*         RETRIEVED FROM THE INPUT FILE, TERMINAL OR K-DISPLAY.
00177  M01S00171.sfs     +++|*         FOR K-DISPLAY PROCESSING, *KD* SHOULD CONTAIN THE
00178  M01S00172.sfs     +++|*         ADDRESS OF THE K-DISPLAY CONTROL WORD.  IF K-DISPLAY
00179  M01S00173.sfs     +++|*         MESSAGE ADDRESSES ARE SET IN *M1* AND *M2* THESE
00180  M01S00174.sfs     +++|*         MESSAGE AREAS WILL BE CLEARED UPON RECEIVING INPUT.
00181  M01S00002.v23l617 +++|*         IF *IL* IS NON-ZERO, K-DISPLAY INPUT WILL BE MOVED TO
00182  M01S00003.v23l617 +++|*         THE ADDRESS CONTAINED IN *IL* BEFORE ISSUING THE
00183  M01S00004.v23l617 +++|*         THE CONSOLE MACRO.  THIS LOCATION WILL BE BLANK-FILLED
00184  M01S00005.v23l617 +++|*         TO FIVE WORDS AFTER ISSUING THE CONSOLE MACRO.
00185  M01S00175.sfs     +++| ASC      SPACE  4
00186  M01S00176.sfs     +++|**        ASC - ASSEMBLE CHARACTERS.
00187  M01S00177.sfs     +++|*
00188  M01S00178.sfs     +++|*         ENTRY  (SP)        STRING BUFFER ADDRESS OF PREVIOUS CHAR.
00189  M01S00179.sfs     +++|*                (SM)        STRING BUFFER LIMIT.
00190  M01S00180.sfs     +++|*                (X0)        INPUT FET ADDRESS.
00191  M01S00181.sfs     +++|*                (X1)        BIT STRING OF CHARACTERS TO PERMIT.
00192  M01S00182.sfs     +++|*                (X6)        BIT STRING OF CHARACTERS TO SUPPRESS.
00193  M01S00183.sfs     +++|*                IF BIT POSITION EQUALING (SPECIAL CHARACTER DISPLAY
00194  M01S00184.sfs     +++|*                CODE - 45B) IS SET, THAT CHARACTER IS SUPPRESSED OR
00195  M01S00185.sfs     +++|*                PERMITTED AS DATA (NOT TREATED AS SEPARATOR).
00196  M01S00186.sfs     +++|*
00197  M01S00187.sfs     +++|*         EXIT   (SP)        UPDATED STRING BUFFER ADDRESS.
00198  M01S00188.sfs     +++|*                (X6)        LEFT -JUSTIFIED ASSEMBLED CHARACTERS.
00199  M01S00189.sfs     +++|*                (X5)        RIGHT-JUSTIFIED ASSEMBLED CHARACTERS.
00200  M01S00190.sfs     +++|*                (X4)        NUMBER OF CHARACTERS
00201  M01S00191.sfs     +++|*                (B5)        SEPARATOR (0 IF END OF LINE).
00202  M01S00192.sfs     +++|*                (B6) = 0    IF ENTRY TERMINATION */*.
00203  M01S00193.sfs     +++|*                (B6) " 0    ASSEMBLY COMPLETE.
00204  M01S00194.sfs     +++|*                (ET) = -1   IF EOF.
00205  M01S00195.sfs     +++|*                     = +1   IF */*.
00206  M01S00196.sfs     +++|*
00207  M01S00197.sfs     +++|*         CALLS  ISB.
00208  M01S00198.sfs     +++|*
00209  M01S00199.sfs     +++|*         USES   ALL REGISTERS EXCEPT A0 AND A5.
00210  M01S00200.sfs     +++|
00211  M01S00201.sfs     +++|
00212  M01S00202.sfs     +++| ASC6     SX4    -B4
00213  M01S00203.sfs     +++|          SX4    X4+10D
00214  M01S00204.sfs     +++|          SX6    B2
00215  M01S00205.sfs     +++|          SA6    SP
00216  M01S00206.sfs     +++|          BX6    X6-X6
00217  M01S00207.sfs     +++|          SB3    B4+B4
00218  M01S00208.sfs     +++|          ZR     X4,ASCX     RETURN - NO CHARACTERS ASSEMBLED
00219  M01S00209.sfs     +++|          SB4    B3+B3
00220  M01S00210.sfs     +++|          SB4    B4+B3
00221  M01S00211.sfs     +++|          ZR     X5,ASCX     RETURN - ASSEMBLY REGISTER EMPTY
00222  M01S00212.sfs     +++|          LX6    X5,B4
00223  M01S00213.sfs     +++|
00224  M01S00214.sfs     +++| ASC      SUBR               ENTRY/EXIT
00225  M01S00215.sfs     +++|          BX5    X5-X5
00226  M01S00216.sfs     +++|          SB4    10D
00227  M01S00217.sfs     +++|          BX7    X1
00228  M01S00218.sfs     +++|          SB6    B1
00229  M01S00219.sfs     +++|
00230  M01S00220.sfs     +++| ASC1     SA1    SP          SET STRING POINTER
00231  M01S00221.sfs     +++|          SB2    X1
00232  M01S00222.sfs     +++|          SB5    B0          SET END OF LINE INDICATOR
00233  M01S00223.sfs     +++|          SA1    SM          SET MAXIMUM SCAN CHARACTERS
00234  M01S00224.sfs     +++|          SB7    SBCAL       CHARACTER ASSEMBLY LIMIT
00235  M01S00225.sfs     +++|          SB3    X1
00236  M01S00226.sfs     +++|          LE     B3,B7,ASC1.1 IF LINE LENGTH .LE. CHARACTER LIMIT
00237  M01S00227.sfs     +++|          SB3    B7
00238  M01S00228.sfs     +++| ASC1.1   GE     B2,B3,ASC4  IF BUFFER EMPTY
00239  M01S00229.sfs     +++| ASC2     SB2    B2+B1
00240  M01S00230.sfs     +++|          GE     B2,B3,ASC6  IF END OF STRING BUFFER
00241  M01S00231.sfs     +++|          SA1    B2
00242  M01S00232.sfs     +++|          SB5    X1          SET SEPARTOR
00243  M01S00233.sfs     +++|          SB7    X1-1R+
00244  M01S00234.sfs     +++|          LT     B7,ASC3     IF NOT SPECIAL CHARACTER
00245  M01S00235.sfs     +++|          AX4    X6,B7
00246  M01S00236.sfs     +++|          LX4    59
00247  M01S00237.sfs     +++|          NG     X4,ASC2     IF CHARACTER TO BE SUPPRESSED
00248  M01S00238.sfs     +++|          AX4    X7,B7
00249  M01S00239.sfs     +++|          LX4    59
00250  M01S00240.sfs     +++|          PL     X4,ASC6     IF CHARACTER NOT TO BE PERMITTED
00251  M01S00241.sfs     +++| ASC3     LX5    6
00252  M01S00242.sfs     +++|          SB4    B4-1
00253  M01S00243.sfs     +++|          BX5    X5+X1
00254  M01S00244.sfs     +++|          NE     B4,ASC2     IF MORE CHARACTERS TO ASSEMBLE
00255  M01S00245.sfs     +++|          SB6    B1+
00256  M01S00246.sfs     +++|          EQ     ASC6
00257  M01S00247.sfs     +++|
00258  M01S00248.sfs     +++| ASC4     SA6    ASCA
00259  M01S00249.sfs     +++|          SA7    A6+B1
00260  M01S00250.sfs     +++|          SX6    B4          SAVE CHARACTER COUNT
00261  M01S00251.sfs     +++|          SA6    ASCB
00262  M01S00252.sfs     +++|          RJ     ISB         INPUT STRING BUFFER
00263  M01S00253.sfs     +++|          SA2    ASCB        RESTORE CHARACTER COUNT
00264  M01S00254.sfs     +++|          SA1    ASCA
00265  M01S00255.sfs     +++|          SB4    X2
00266  M01S00256.sfs     +++|          BX6    X1
00267  M01S00257.sfs     +++|          SA1    A1+B1
Line S00258 Modification History
M01 (Added by) sfs
M02 (Updated by) sfs1
Seq #  *Modification Id* Act 
----------------------------+
00268  M02S00258.sfs1    ---|          SX7    X1
00269  M01S00001.sfs1    +++|          BX7    X1
00270  M01S00259.sfs     +++|          NE     B6,ASC1     LOOP FOR NEXT CHARACTER
00271  M01S00260.sfs     +++|          SA1    SP          RESET STRING POINTER
00272  M01S00261.sfs     +++|          SB2    X1
00273  M01S00262.sfs     +++|          SB5    B0          RESET END OF LINE INDICATOR
00274  M01S00263.sfs     +++|          EQ     ASC6        RETURN - IF EOF OR NEW CHARGE NUMBER
00275  M01S00264.sfs     +++|
00276  M01S00265.sfs     +++| ASCA     CON    0,0         HOLD FOR SPECIAL CHARACTER BIT CODES
00277  M01S00266.sfs     +++| ASCB     CON    0           HOLD AREA FOR CHARACTER COUNT
00278  M01S00267.sfs     +++| ISB      SPACE  4
00279  M01S00268.sfs     +++|**        ISB - INPUT STRING BUFFER.
00280  M01S00269.sfs     +++|*         IF (LP) " 0, EXECUTE LIST PROCESSOR AFTER READING SOURCE LINE
00281  M01S00270.sfs     +++|*         TO STRING BUFFER.
00282  M01S00271.sfs     +++|*
00283  M01S00272.sfs     +++|*         ENTRY  (X0)        INPUT FET ADDRESS, IF NOT K-DISPLAY.
00284  M01S00273.sfs     +++|*
00285  M01S00274.sfs     +++|*         EXIT   (SP)        BEGINNING OF STRING BUFFER.
00286  M01S00275.sfs     +++|*                (SM)        STRING BUFFER LIMIT.
00287  M01S00276.sfs     +++|*                (B6) = 0    IF NEW PRIMARY ENTRY OR EOF.
00288  M01S00277.sfs     +++|*                (NP) " 0    IF NEW PRIMARY ENTRY.
00289  M01S00278.sfs     +++|*                (ET) = -1   IF EOF.
00290  M01S00279.sfs     +++|*                     = +1   IF */*.
00291  M01S00280.sfs     +++|*
00292  M01S00281.sfs     +++|*         CALLS  KIP, RDS, SIN.
00293  M01S00282.sfs     +++|*
00294  M01S00283.sfs     +++|*         USES   ALL REGISTERS EXCEPT A0, A5, X5.
00295  M01S00284.sfs     +++|
00296  M01S00285.sfs     +++|
00297  M01S00286.sfs     +++| ISB      SUBR               ENTRY/EXIT
00298  M01S00287.sfs     +++|          SA1    OP
00299  M01S00288.sfs     +++|          SX1    X1-KOPT
00300  M01S00289.sfs     +++|          NZ     X1,ISB1     IF NOT K-DISPLAY
00301  M01S00290.sfs     +++|          RJ     KIP         KEYBOARD INPUT
00302  M01S00291.sfs     +++|          EQ     ISB2
00303  M01S00292.sfs     +++|
00304  M01S00293.sfs     +++| ISB1     READS  X0,USBB,-NCSI  READ DATA TO STRING BUFFER
00305  M01S00294.sfs     +++|          SX7    B6          SET LWA+1 OF CHARACTER STRING
00306  M01S00295.sfs     +++|          SA7    SM
00307  M01S00296.sfs     +++|          SX6    -B1         PRESET EOF
00308  M01S00297.sfs     +++|          SB6    B0
00309  M01S00298.sfs     +++|          NZ     X1,ISB4     IF EOR OR EOF
00310  M01S00299.sfs     +++| ISB2     SX7    USBB-1
00311  M01S00300.sfs     +++|          SA1    LP          READ LIST PROCESSOR ADDRESS
00312  M01S00301.sfs     +++|          SA7    SP          SET STRING BUFFER CHARACTER POINTER
00313  M01S00302.sfs     +++|          SX7    USBB        SET STRING BUFFER ADDRESS
00314  M01S00303.sfs     +++|          SB7    X1+
00315  M01S00304.sfs     +++|          SA7    SB
00316  M01S00305.sfs     +++|          ZR     X1,ISB3     IF NO LIST PROCESSOR DEFINED
00317  M01S00306.sfs     +++|          RJ     SIN         EXECUTE LIST PROCESSOR
00318  M01S00307.sfs     +++| ISB3     SA3    USBB        CHECK NEW ENTRY
00319  M01S00308.sfs     +++|          BX6    X6-X6
00320  M01S00309.sfs     +++|          SX7    A3
00321  M01S00310.sfs     +++|          SB6    X3-1R/
00322  M01S00311.sfs     +++|          NZ     B6,ISBX     RETURN - IF NOT NEW ENTRY
00323  M01S00312.sfs     +++|          SX6    1           FLAG *NEW ENTRY*
00324  M01S00313.sfs     +++|          SA7    SP
00325  M01S00314.sfs     +++| ISB4     SA6    ET
00326  M01S00315.sfs     +++|          EQ     ISBX
00327  M01S00316.sfs     +++| SIN      SPACE  4
00328  M01S00317.sfs     +++|**        SIN - SUBROUTINE INTERFACE.
00329  M01S00318.sfs     +++|*
00330  M01S00319.sfs     +++|*         ENTRY  (B7)        SUBROUTINE ADDRESS.
00331  M01S00320.sfs     +++|*
00332  M01S00321.sfs     +++|*         EXIT   TO ROUTINE WITH RETURN ADDRESS SET.
00333  M01S00322.sfs     +++|*
00334  M01S00323.sfs     +++|*         CALLS  NONE.
00335  M01S00324.sfs     +++|*
00336  M01S00325.sfs     +++|*         USES   A - 1, 6.
00337  M01S00326.sfs     +++|*                X - 1, 6.
00338  M01S00327.sfs     +++|*                B - 7.
00339  M01S00328.sfs     +++|
00340  M01S00329.sfs     +++|
00341  M01S00330.sfs     +++| SIN      SUBR               ENTRY/EXIT
00342  M01S00331.sfs     +++|          SA1    SIN         SET RETURN ADDRESS
00343  M01S00332.sfs     +++|          BX6    X1
00344  M01S00333.sfs     +++|          SA6    B7
00345  M01S00334.sfs     +++|          JP     B7+1        JUMP TO ROUTINE
00346  M01S00335.sfs     +++| KIP      SPACE  4
00347  M01S00336.sfs     +++|**        KIP - KEYBOARD INPUT PROCESSOR.
00348  M01S00337.sfs     +++|*
Line S00338 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00349  M02S00338.v23l617 ---|*         ENTRY  (KD)        CONTROL ADDRESS OF DISPLAY.
00350  M01S00006.v23l617 +++|*         ENTRY  (IL) = ADDRESS OF KEYBOARD INPUT DISPLAY LINE.
00351  M01S00007.v23l617 +++|*                (KD) = CONTROL ADDRESS OF DISPLAY.
00352  M01S00339.sfs     +++|*
00353  M01S00340.sfs     +++|*         EXIT   DATA MOVED TO STRING BUFFER.
00354  M01S00008.v23l617 +++|*                KEYBOARD INPUT MOVED TO DISPLAY BUFFER.
00355  M01S00341.sfs     +++|*
Line S00342 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00356  M02S00342.v23l617 ---|*         CALLS  MVE, RCL, USB.
00357  M01S00009.v23l617 +++|*         USES   X - 1, 3, 4, 6, 7.
00358  M01S00010.v23l617 +++|*                A - 1, 3, 4, 6, 7.
00359  M01S00011.v23l617 +++|*                B - 2.
00360  M01S00012.v23l617 +++|*
00361  M01S00013.v23l617 +++|*         CALLS  USB, ZTB.
00362  M01S00343.sfs     +++|*
Line S00344 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00363  M02S00344.v23l617 ---|*         USES   A - 1, 2, 4, 6, 7.
Line S00345 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00364  M02S00345.v23l617 ---|*                X - 0, 1, 2, 3, 4, 6, 7.
Line S00346 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00365  M02S00346.v23l617 ---|*                B - 2, 3, 6, 7.
00366  M01S00014.v23l617 +++|*         MACROS CONSOLE, MOVE, RECALL.
00367  M01S00347.sfs     +++|
00368  M01S00348.sfs     +++|
00369  M01S00349.sfs     +++| KIP      SUBR               ENTRY/EXIT
Line S00350 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00370  M02S00350.v23l617 ---|          SA1    KD          SET DISPLAY
00371  M01S00015.v23l617 +++|          SA4    IL
00372  M01S00016.v23l617 +++|          ZR     X4,KIP2     IF NO INPUT DISPLAY LINE
00373  M01S00017.v23l617 +++|          SB3    5           BLANK FILL KEYBOARD INPUT
00374  M01S00018.v23l617 +++|          SB2    B0+
00375  M01S00019.v23l617 +++| KIP1     SA1    KIPB+B2
00376  M01S00020.v23l617 +++|          RJ     ZTB         CONVERT ZEROS TO BLANKS
00377  M01S00021.v23l617 +++|          SA6    A1
00378  M01S00022.v23l617 +++|          SB2    B2+B1
00379  M01S00023.v23l617 +++|          GT     B3,B2,KIP1  IF NOT END OF INPUT BUFFER
00380  M01S00024.v23l617 +++|          MOVE   5,KIPB,X4   MOVE KEYBOARD INPUT TO DISPLAY BUFFER
00381  M01S00025.v23l617 +++| KIP2     SA1    KD          SET DISPLAY
00382  M01S00351.sfs     +++|          CONSOLE X1
Line S00352 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00383  M02S00352.v23l617 ---|
Line S00353 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00384  M02S00353.v23l617 ---| KIP1     SA1    KD          SET KEYBOARD BUFFER ADDRESS
00385  M01S00026.v23l617 +++| KIP3     SA1    KD          SET KEYBOARD BUFFER ADDRESS
00386  M01S00354.sfs     +++|          SA1    X1
00387  M01S00355.sfs     +++|          AX1    36
Line S00356 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00388  M02S00356.v23l617 ---|          SA1    X1
00389  M01S00027.v23l617 +++|          SA1    X1+
Line S00357 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00390  M02S00357.v23l617 ---|          NZ     X1,KIP2     IF INPUT PRESENT
00391  M01S00028.v23l617 +++|          NZ     X1,KIP4     IF INPUT PRESENT
00392  M01S00358.sfs     +++|          RECALL
Line S00359 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00393  M02S00359.v23l617 ---|          EQ     KIP1
00394  M01S00029.v23l617 +++|          EQ     KIP3        CHECK FOR INPUT
00395  M01S00360.sfs     +++|
Line S00361 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00396  M02S00361.v23l617 ---| KIP2     SA3    M1
Line S00362 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00397  M02S00362.v23l617 ---|          ZR     X3,KIP3     IF NO ADDRESS
00398  M01S00030.v23l617 +++| KIP4     SA3    M1          CLEAR MESSAGE LINE
00399  M01S00031.v23l617 +++|          ZR     X3,KIP5     IF NO ADDRESS
00400  M01S00363.sfs     +++|          MOVE   4,KIPA,X3
Line S00364 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00401  M02S00364.v23l617 ---| KIP3     SA3    M2
Line S00365 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00402  M02S00365.v23l617 ---|          ZR     X3,KIP4     IF NO ADDRESS
00403  M01S00032.v23l617 +++| KIP5     SA3    M2
00404  M01S00033.v23l617 +++|          ZR     X3,KIP6     IF NO ADDRESS
00405  M01S00366.sfs     +++|          MOVE   4,KIPA,X3
Line S00367 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00406  M02S00367.v23l617 ---| KIP4     SA1    KD          SET KEYBOARD BUFFER ADDRESS
00407  M01S00034.v23l617 +++| KIP6     SA1    KD          SET KEYBOARD BUFFER ADDRESS
00408  M01S00368.sfs     +++|          SA1    X1
00409  M01S00369.sfs     +++|          AX1    36
00410  M01S00370.sfs     +++|          SB2    X1
00411  M01S00035.v23l617 +++|          MOVE   5,B2,KIPB   STORE KEYBOARD INPUT
00412  M01S00371.sfs     +++|          RJ     USB         MOVE INPUT TO STRING BUFFER
00413  M01S00372.sfs     +++|          SX7    X6+1        SET LWA+1 OF CHARACTER STRING
00414  M01S00373.sfs     +++|          SA7    SM
00415  M01S00374.sfs     +++|          SA1    KD
00416  M01S00375.sfs     +++|          SA1    X1
00417  M01S00376.sfs     +++|          AX1    36
00418  M01S00377.sfs     +++|          BX6    X6-X6       CLEAR BUFFER
00419  M01S00378.sfs     +++|          SA6    X1
00420  M01S00379.sfs     +++|          EQ     KIPX        RETURN
00421  M01S00380.sfs     +++|
00422  M01S00036.v23l617 +++|*         CHARACTER STRING TO BLANK OUT MESSAGE AREAS IN DISPLAYS.
Line S00381 Modification History
M01 (Added by) sfs
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00423  M02S00381.v23l617 ---| KIPA     DIS    4,
00424  M01S00037.v23l617 +++|
00425  M01S00038.v23l617 +++| KIPA     DATA   40H
00426  M01S00039.v23l617 +++|
00427  M01S00040.v23l617 +++|*         BUFFER TO STORE KEYBOARD INPUT.
00428  M01S00041.v23l617 +++|
00429  M01S00042.v23l617 +++| KIPB     DATA   50H
00430  M01S00382.sfs     +++|
00431  M01S00383.sfs     +++|
00432  M01S00384.sfs     +++|**        STRING BUFFER.
00433  M01S00385.sfs     +++|
00434  M01S00386.sfs     +++| NCSI     EQU    80          NUMBER OF CHARACTERS TO SCAN ON INPUT
00435  M01S00387.sfs     +++|          DATA   1R
00436  M01S00388.sfs     +++| USBB     BSS    NCSI+10     STRING BUFFER
00437  M01S00389.sfs     +++| USBBL    EQU    *-USBB      STRING BUFFER LENGTH
00438  M01S00390.sfs     +++| SBCAL    EQU    USBB+72     STRING BUFFER CHARACTER ASSEMBLY LIMIT
00439  M01S00391.sfs     +++| SCI      SPACE  4
00440  M01S00392.sfs     +++|**        SCI - SCAN FOR CODE IDENTIFIER.
00441  M01S00393.sfs     +++|*
00442  M01S00394.sfs     +++|*         ENTRY  (SP)        ADDRESS OF LAST CHARACTER PROCESSED.
00443  M01S00395.sfs     +++|*                (SM)        STRING BUFFER LIMIT.
00444  M01S00396.sfs     +++|*                (X0)        INPUT FET ADDRESS.
00445  M01S00397.sfs     +++|*                (X1)        BIT STRING OF CHARACTERS TO PERMIT.
00446  M01S00398.sfs     +++|*                (X3)        TABLE ADDRESS OF K-DISPLAY ENTRIES.
00447  M01S00399.sfs     +++|*                TABLE ENTRIES HVE FOLLOWING FORMAT,
00448  M01S00400.sfs     +++|*                42/ENTRY,18/STATUS
00449  M01S00401.sfs     +++|*                  ENTRY = DISPLAY CODE ENTRY TO SEARCH FOR.
00450  M01S00402.sfs     +++|*                  STATUS = RETURN INFORMATION FOR CALLER.
00451  M01S00403.sfs     +++|*                BOTH TABLES MUST BE TERMINATED BY A ZERO WORD.
00452  M01S00404.sfs     +++|*                (X6)        TABLE ADDRESS OF TABLE INFORMATION.
00453  M01S00405.sfs     +++|*                TABLE ENTRIES HAVE FOLLOWING FORMAT,
00454  M01S00406.sfs     +++|*                18/I,18/M,6/U,6/S,6/F,6/P
00455  M01S00407.sfs     +++|*                 I = IDENTIFIER.
00456  M01S00408.sfs     +++|*                 M = ADDRESS OF MAXIMUM VALUE (0 = INFINITE).
00457  M01S00409.sfs     +++|*                 U = UPPER BIT POSITION IN FIELD.
00458  M01S00410.sfs     +++|*                 S = FIELD SIZE IN BITS.
00459  M01S00411.sfs     +++|*                 F = FIRST WORD ADDRESS WITHIN DATA BLOCK.
00460  M01S00412.sfs     +++|*                 P = PROCESSOR INDEX.
00461  M01S00413.sfs     +++|*
00462  M01S00414.sfs     +++|*         EXIT   (X1) = 0    IF ERROR.
00463  M01S00415.sfs     +++|*                (B5) = 0    IF SEPARATOR IS *=*.
00464  M01S00416.sfs     +++|*                (B6) = 0    IF ENTRY TERMINATION, */*.
00465  M01S00417.sfs     +++|*                (B7)        PROCESSOR INDEX OR STATUS(K-DISPLAY).
00466  M01S00418.sfs     +++|*                (DF-DF+4)   M, U, S, F, AND I ENTRIES FROM TABLE
00467  M01S00419.sfs     +++|*                (ET) = -1   IF EOF.
00468  M01S00420.sfs     +++|*                     = +1   IF */*.
00469  M01S00421.sfs     +++|*
00470  M01S00422.sfs     +++|*         CALLS  ASC.
00471  M01S00423.sfs     +++|*
00472  M01S00424.sfs     +++|*         USES   ALL REGISTERS EXCEPT A5 AND A0.
00473  M01S00425.sfs     +++|
00474  M01S00426.sfs     +++|
00475  M01S00427.sfs     +++| SCI      SUBR               ENTRY/EXIT
00476  M01S00428.sfs     +++|          SA6    SCIA
00477  M01S00429.sfs     +++|          BX6    X3
00478  M01S00430.sfs     +++|          LX7    X1
00479  M01S00431.sfs     +++|          SA6    A6+1
00480  M01S00432.sfs     +++|          SA7    A6+1
00481  M01S00433.sfs     +++|
00482  M01S00434.sfs     +++| SCI1     SA2    SCIB        CHARACTERS TO SUPPRESS
00483  M01S00435.sfs     +++|          SA1    SCIA+2      CHARACTERS TO PERMIT
00484  M01S00436.sfs     +++|          BX6    X2
00485  M01S00437.sfs     +++|          RJ     ASC         ASSEMBLE CHARACTERS
00486  M01S00438.sfs     +++|          SX1    B1+
00487  M01S00439.sfs     +++|          SB5    B5-1R=
00488  M01S00440.sfs     +++|          EQ     B6,SCIX     RETURN - IF EOF OR NEW CHARGE NUMBER
00489  M01S00441.sfs     +++|          ZR     X4,SCI1     IF NO CHARACTERS
00490  M01S00442.sfs     +++|          BX1    X1-X1
00491  M01S00443.sfs     +++|          MX0    18
00492  M01S00444.sfs     +++|          NZ     B5,SCI3     IF NOT IDENTIFIER SEPARATOR
00493  M01S00445.sfs     +++|          ZR     X4,SCI1     IF NO DATA ASSEMBLED
00494  M01S00446.sfs     +++|          SA2    SCIA
00495  M01S00447.sfs     +++|          SA1    X2-1        FWA OF TABLE
00496  M01S00448.sfs     +++| SCI2     SA1    A1+B1
00497  M01S00449.sfs     +++|          ZR     X1,SCI3     IF END OF TABLE
00498  M01S00450.sfs     +++|          BX2    X0*X1
00499  M01S00451.sfs     +++|          BX2    X2-X6
00500  M01S00452.sfs     +++|          NZ     X2,SCI2     IF IDENTIFIER NOT FOUND
00501  M01S00453.sfs     +++|          MX0    -6
00502  M01S00454.sfs     +++|          SA6    DF+4        SET IDENTIFIER
00503  M01S00455.sfs     +++|          BX6    -X0*X1      SET PROCESSOR ADDRESS
00504  M01S00456.sfs     +++|          SB7    X6
00505  M01S00457.sfs     +++|          LX1    54
00506  M01S00458.sfs     +++|          BX7    -X0*X1      SET FWA OF FIELD
00507  M01S00459.sfs     +++|          MX0    -24         SET MAXIMUM VALUE
00508  M01S00460.sfs     +++|          LX1    42
00509  M01S00461.sfs     +++|          BX6    -X0*X1
00510  M01S00462.sfs     +++|          SA2    X6
00511  M01S00463.sfs     +++|          BX6    X2
00512  M01S00464.sfs     +++|          AX0    18          SET UPPER BIT OF FIELD
00513  M01S00465.sfs     +++|          SA6    DF
00514  M01S00466.sfs     +++|          LX1    6
00515  M01S00467.sfs     +++|          BX6    -X0*X1
00516  M01S00468.sfs     +++|          SA6    A6+B1
00517  M01S00469.sfs     +++|          LX1    6           SET SIZE OF FIELD
00518  M01S00470.sfs     +++|          BX6    -X0*X1
00519  M01S00471.sfs     +++|          SA6    A6+B1
00520  M01S00472.sfs     +++|          SA7    A6+B1
00521  M01S00473.sfs     +++|          SX1    B1
00522  M01S00474.sfs     +++|          EQ     SCIX        RETURN
00523  M01S00475.sfs     +++|
00524  M01S00476.sfs     +++|*         CHECK FOR K-DISPLAY TERMINATION.
00525  M01S00477.sfs     +++|
00526  M01S00478.sfs     +++| SCI3     SA2    OP
00527  M01S00479.sfs     +++|          SX2    X2-KOPT
00528  M01S00480.sfs     +++|          NZ     X2,SCIX     RETURN
00529  M01S00481.sfs     +++|          SA2    SCIA+1
00530  M01S00482.sfs     +++|          MX0    42
00531  M01S00483.sfs     +++|          SA1    X2-1
00532  M01S00484.sfs     +++| SCI4     SA1    A1+B1
00533  M01S00485.sfs     +++|          ZR     X1,SCIX     IF END OF TABLE
00534  M01S00486.sfs     +++|          BX2    X0*X1
00535  M01S00487.sfs     +++|          BX2    X2-X6
00536  M01S00488.sfs     +++|          NZ     X2,SCI4     IF NO MATCH
00537  M01S00489.sfs     +++|          BX2    -X0*X1
00538  M01S00490.sfs     +++|          SB7    X2
00539  M01S00491.sfs     +++|          SX1    B1
00540  M01S00492.sfs     +++|          EQ     SCIX        RETURN
00541  M01S00493.sfs     +++|
00542  M01S00494.sfs     +++| SCIA     CON    0,0,0       HOLD AREAS
00543  M01S00495.sfs     +++| SCIB     BITCON ( )         SUPPRESS CHARACTERS
00544  M01S00496.sfs     +++|          TITLE  READ FILE ROUTINES.
00545  M01S00497.sfs     +++|***       THE ROUTINES *SPB*, *SBT* AND *ANB* ARE DESIGNED FOR USE
00546  M01S00498.sfs     +++|*         WITH THE INQUIRE AND UPDATE OPTIONS TO SET SELECTED
00547  M01S00499.sfs     +++|*         BLOCKS IN THE RESPECTIVE TABLES.  *ANB* ADDS THE NEXT
00548  M01S00500.sfs     +++|*         LINKED BLOCK TO A TABLE AND *SBT* SEARCHES FOR THE BLOCK
00549  M01S00501.sfs     +++|*         ASSOCIATED WITH A GIVEN ENTRY AND PLACES IT IN THE TABLE.
00550  M01S00502.sfs     +++|*
00551  M01S00503.sfs     +++|*         *PNA* AND *PNE* ARE PROVIDED FOR USE WITH THE REFORMAT
00552  M01S00504.sfs     +++|*         AND SOURCE OPTIONS TO PROCESS EACH ENTRY IN THE CHAIN
00553  M01S00505.sfs     +++|*         OF LINKED BLOCKS.
00554  M01S00506.sfs     +++|*
00555  M01S00507.sfs     +++|*         ALL READ FUNCTIONS REQUIRE (X0) = FET ADDRESS OF FILE.
00556  M01S00508.sfs     +++| ANB      SPACE  4
00557  M01S00509.sfs     +++|**        ANB - ADD NEXT BLOCK TO TABLE.
00558  M01S00510.sfs     +++|*
00559  M01S00511.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
00560  M01S00512.sfs     +++|*                (X0)        FET ADDRESS (FOR READ).
00561  M01S00513.sfs     +++|*                (X3)        RANDOM ADDRESS OF BLOCK.
00562  M01S00514.sfs     +++|*
00563  M01S00515.sfs     +++|*         EXIT   (CW+2)      ADDRESS OF LINKED BLOCK.
00564  M01S00516.sfs     +++|*                BLOCK ADDED TO TABLE.
00565  M01S00517.sfs     +++|*                LENGTH UPDATED.
00566  M01S00518.sfs     +++|*                (X6) = 0    IF NO ERROR.
00567  M01S00519.sfs     +++|*                ((A0*2)+RA0+1) ADDRESS OF READ.
00568  M01S00520.sfs     +++|*
00569  M01S00521.sfs     +++|*         CALLS  RDW, CCW, ATS.
00570  M01S00522.sfs     +++|*
00571  M01S00523.sfs     +++|*         USES   ALL REGISTERS.
00572  M01S00524.sfs     +++|
00573  M01S00525.sfs     +++|
00574  M01S00526.sfs     +++| ANB      SUBR               ENTRY/EXIT
00575  M01S00527.sfs     +++|          RECALL X0
00576  M01S00528.sfs     +++|          BX6    X3          SET RANDOM ADDRESS
00577  M01S00529.sfs     +++|          SX2    A0
00578  M01S00530.sfs     +++|          LX2    1
00579  M01S00531.sfs     +++|          BX7    X3
00580  M01S00532.sfs     +++|          SA7    X2+RA0+1
00581  M01S00533.sfs     +++|          SA6    X0+6
00582  M01S00534.sfs     +++|          READ   X0
00583  M01S00535.sfs     +++|          READW  X0,CW,3
00584  M01S00536.sfs     +++|          NZ     X1,ANB1     IF EOR OR EOF
00585  M01S00537.sfs     +++|          RJ     CCW         CRACK CONTROL WORD
00586  M01S00538.sfs     +++|          SB4    A0-B4
00587  M01S00539.sfs     +++|          NE     B4,ANB1     IF NOT RIGHT LEVEL
00588  M01S00540.sfs     +++|          BX6    X6-X6
00589  M01S00541.sfs     +++|          SA5    A0+LTAB
00590  M01S00542.sfs     +++|          ZR     B3,ANBX     IF ZERO LENGTH
00591  M01S00543.sfs     +++|          ALLOC  A0,B3
00592  M01S00544.sfs     +++|          SA3    FTAB+A0
00593  M01S00545.sfs     +++|          IX3    X3+X5
00594  M01S00546.sfs     +++|          READW  X0,X3,X1
00595  M01S00547.sfs     +++|          BX6    X6-X6
00596  M01S00548.sfs     +++|          ZR     X1,ANBX     RETURN - IF TRANSFER COMPLETE
00597  M01S00549.sfs     +++| ANB1     REWIND X0,R
00598  M01S00550.sfs     +++|          SX6    B1
00599  M01S00551.sfs     +++|          EQ     ANBX        RETURN
00600  M01S00552.sfs     +++| CCW      SPACE  4
00601  M01S00553.sfs     +++|**        CCW - CRACK CONTROL WORD.
00602  M01S00554.sfs     +++|*
00603  M01S00555.sfs     +++|*         ENTRY  (CW)        CONTROL WORD.
00604  M01S00556.sfs     +++|*
00605  M01S00557.sfs     +++|*         EXIT   (B2)        FWA OF DATA BLOCK.
00606  M01S00558.sfs     +++|*                (B3)        LENGTH OF DATA BLOCK.
00607  M01S00559.sfs     +++|*                (B4)        LEVEL NUMBER.
00608  M01S00560.sfs     +++|*                (B5)        NUMBER OF ENTRIES.
00609  M01S00561.sfs     +++|*                (B7)        WORD COUNT/ENTRY.
00610  M01S00562.sfs     +++|*
00611  M01S00563.sfs     +++|*         CALLS  NONE.
00612  M01S00564.sfs     +++|*
00613  M01S00565.sfs     +++|*         USES   A - 1.
00614  M01S00566.sfs     +++|*                X - 1, 2, 6.
00615  M01S00567.sfs     +++|*                B - 1, 2, 3, 4, 5, 7.
00616  M01S00568.sfs     +++|
00617  M01S00569.sfs     +++|
00618  M01S00570.sfs     +++| CCW      SUBR               ENTRY/EXIT
00619  M01S00571.sfs     +++|          SA1    CW
00620  M01S00572.sfs     +++|          MX6    -12
00621  M01S00573.sfs     +++|          BX2    -X6*X1      FWA
00622  M01S00574.sfs     +++|          SB2    X2
00623  M01S00575.sfs     +++|          LX1    12
00624  M01S00576.sfs     +++|          BX2    -X6*X1      LEVEL NUMBER
00625  M01S00577.sfs     +++|          SB4    X2
00626  M01S00578.sfs     +++|          LX1    12
00627  M01S00579.sfs     +++|          BX2    -X6*X1      LENGTH OF DATA BLOCK (LENGTH-FWA+1)
00628  M01S00580.sfs     +++|          SB3    B1-B2
00629  M01S00581.sfs     +++|          SB3    X2+B3
00630  M01S00582.sfs     +++|          LX1    12
00631  M01S00583.sfs     +++|          BX2    -X6*X1      WORD COUNT/ENTRY
00632  M01S00584.sfs     +++|          SB7    X2
00633  M01S00585.sfs     +++|          LX1    12
00634  M01S00586.sfs     +++|          BX2    -X6*X1      NUMBER OF ENTRIES
00635  M01S00587.sfs     +++|          SB5    X2
00636  M01S00588.sfs     +++|          EQ     CCWX        RETURN
00637  M01S00589.sfs     +++| PNA      SPACE  4
00638  M01S00590.sfs     +++|**        PNA - PICK NEXT ADDRESS.
00639  M01S00591.sfs     +++|*
00640  M01S00592.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
00641  M01S00593.sfs     +++|*                (X0)        FET ADDRESS (FOR READ).
00642  M01S00594.sfs     +++|*                ((A0)+PNAA) POINTER RO NEXT TABLE ENTRY.
00643  M01S00595.sfs     +++|*                ((A0*2)+RA0+1) ADDRESS OF LINKED BLOCK.
00644  M01S00596.sfs     +++|*
00645  M01S00597.sfs     +++|*         EXIT   (A3)        ADDRESS OF RANDOM INDEX WORD IN ENTRY.
00646  M01S00598.sfs     +++|*                (X3)        ADDRESS OF NEXT HIGHER-LEVEL BLOCK.
00647  M01S00599.sfs     +++|*                (X6) = 0    IF END OF TABLE.
00648  M01S00600.sfs     +++|*                ((A0)+PNAA) UPDATED.
00649  M01S00601.sfs     +++|*
00650  M01S00602.sfs     +++|*         CALLS  ANB, MSG.
00651  M01S00603.sfs     +++|*
00652  M01S00604.sfs     +++|*         USES   ALL REGISTERS.
00653  M01S00605.sfs     +++|
00654  M01S00606.sfs     +++|
00655  M01S00607.sfs     +++| PNA      SUBR               ENTRY/EXIT
00656  M01S00608.sfs     +++| PNA1     SA2    A0+LTAB     TABLE LENGTH
00657  M01S00609.sfs     +++|          SA4    A0+PNAA
00658  M01S00610.sfs     +++|          SX6    A0
00659  M01S00611.sfs     +++|          IX3    X4-X2
00660  M01S00612.sfs     +++|          PL     X3,PNA2     IF TABLE EXHAUSTED
00661  M01S00613.sfs     +++|          SA2    A0+CTAB     INCREMENT TABLE POINTER
00662  M01S00614.sfs     +++|          IX6    X4+X2
00663  M01S00615.sfs     +++|          SA6    A4
00664  M01S00616.sfs     +++|          SA1    A0+FTAB     FWA
00665  M01S00617.sfs     +++|          SX6    X6-1
00666  M01S00618.sfs     +++|          IX2    X1+X6
00667  M01S00619.sfs     +++|          SA3    X2
00668  M01S00620.sfs     +++|          EQ     PNAX        RETURN
00669  M01S00621.sfs     +++|
00670  M01S00622.sfs     +++| PNA2     LX6    1
00671  M01S00623.sfs     +++|          SA3    X6+RA0+1    ADDRESS OF LINKED BLOCK
00672  M01S00624.sfs     +++|          BX6    X6-X6
00673  M01S00625.sfs     +++|          ZR     X3,PNAX     RETURN - IF NO LINK
00674  M01S00626.sfs     +++|          SA1    OP
00675  M01S00627.sfs     +++|          SX1    X1-ROPT
00676  M01S00628.sfs     +++|          ZR     X1,PNA3     IF REFORMAT
00677  M01S00629.sfs     +++|          SA6    A2          CLEAR LENGTH
00678  M01S00630.sfs     +++|          SA6    A0+PNAA     CLEAR TABLE POINTER
00679  M01S00631.sfs     +++| PNA3     RJ     ANB         ADD NEXT BLOCK TO TABLE
00680  M01S00632.sfs     +++|          NZ     X6,PNA4     IF ERROR
00681  M01S00633.sfs     +++|          SA1    CW+2        SET ADDRESS OF NEXT BLOCK
00682  M01S00634.sfs     +++|          SX2    A0
00683  M01S00635.sfs     +++|          BX6    X1
00684  M01S00636.sfs     +++|          LX2    1
00685  M01S00637.sfs     +++|          SA6    X2+RA0+1
00686  M01S00638.sfs     +++|          EQ     PNA1        LOOP FOR NEXT BLOCK
00687  M01S00639.sfs     +++|
00688  M01S00640.sfs     +++| PNA4     MESSAGE PNAB,3     ISSUE *DATA BASE ERROR.* MESSAGE
00689  M01S00641.sfs     +++|          BX3    X3-X3
00690  M01S00642.sfs     +++|          MX6    0
00691  M01S00643.sfs     +++|          EQ     PNAX        RETURN
00692  M01S00644.sfs     +++|
00693  M01S00645.sfs     +++| PNAA     BSSZ   NTAB-2      TABLE POINTERS
00694  M01S00646.sfs     +++| PNAB     DATA   C* DATA BASE ERROR.*
00695  M01S00647.sfs     +++| PNE      SPACE  4
00696  M01S00648.sfs     +++|**        PNE - PICK NEXT ENTRY.
00697  M01S00649.sfs     +++|*
00698  M01S00650.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
00699  M01S00651.sfs     +++|*                (X0)        FET ADDRESS (FOR READ).
00700  M01S00652.sfs     +++|*                (X5)        FET ADDRESS (FOR WRITE).
00701  M01S00653.sfs     +++|*                ((A0)+PNEC) ADDRESS OF LAST BLOCK WRITTEN.
00702  M01S00654.sfs     +++|*
00703  M01S00655.sfs     +++|*         EXIT   ((A0)+PNEC) UPDATED.
00704  M01S00656.sfs     +++|*                IF FULL BLOCK IS PRESENT IN TABLE AND IT HAS BEEN
00705  M01S00657.sfs     +++|*                 PROCESSED, IT IS THEN WRITTEN TO THE FILE.
00706  M01S00658.sfs     +++|*                (A3)        ADDRESS OF RANDOM INDEX WORD IN ENTRY.
00707  M01S00659.sfs     +++|*                (X3)        ADDRESS FROM NEXT TABLE ENTRY.
00708  M01S00660.sfs     +++|*                (X6) = 0    IF END OF TABLE.
00709  M01S00661.sfs     +++|*
00710  M01S00662.sfs     +++|*         CALLS  WTB, PNA.
00711  M01S00663.sfs     +++|*
00712  M01S00664.sfs     +++|*         USES   ALL REGISTERS.
00713  M01S00665.sfs     +++|
00714  M01S00666.sfs     +++|
00715  M01S00667.sfs     +++| PNE      SUBR               ENTRY/EXIT
00716  M01S00668.sfs     +++|          BX7    X5          SAVE FET ADDRESS
00717  M01S00669.sfs     +++|          SA7    PNEF
00718  M01S00670.sfs     +++| PNE1     SA1    A0+PNAA     GET TABLE INDEX
00719  M01S00671.sfs     +++|          SA2    A0+TFBL
00720  M01S00672.sfs     +++|          SA3    A0+FTAB     SAVE FWA TABLE
00721  M01S00673.sfs     +++|          IX6    X1-X2
00722  M01S00674.sfs     +++|          BX7    X3
00723  M01S00675.sfs     +++|          NG     X6,PNE2     IF NOT FULL BLOCK.
00724  M01S00676.sfs     +++|          SA7    PNEG
00725  M01S00677.sfs     +++|          RJ     STB         SORT TABLE TO ELIMINATE ZERO ENTRIES
00726  M01S00678.sfs     +++|          SA3    A0+FTAB     NEW FWA TABLE
00727  M01S00679.sfs     +++|          SA2    PNEG        OLD FWA TABLE
00728  M01S00680.sfs     +++|          IX2    X3-X2
00729  M01S00681.sfs     +++|          SA1    A0+PNAA     ADJUST NEXT TABLE ENTRY POINTER
00730  M01S00682.sfs     +++|          IX6    X1-X2
00731  M01S00683.sfs     +++|          SA6    A1
00732  M01S00684.sfs     +++|          BX1    X6
00733  M01S00685.sfs     +++|          NZ     X2,PNE1     IF SORT DELETED ZERO ENTRIES
00734  M01S00686.sfs     +++|          BX7    X0          SAVE FET ADDRESS
00735  M01S00687.sfs     +++|          SA7    PNED
00736  M01S00688.sfs     +++|          IX6    X3+X1       SAVE NEW FWA
00737  M01S00689.sfs     +++|          SA6    PNEA
00738  M01S00690.sfs     +++|          SX3    A0+
00739  M01S00691.sfs     +++|          SA4    A0+LTAB     SAVE NEW LENGTH
00740  M01S00692.sfs     +++|          IX6    X4-X1
00741  M01S00693.sfs     +++|          LX3    1
00742  M01S00694.sfs     +++|          SA6    PNEB
00743  M01S00695.sfs     +++|          BX6    X1          SET LENGTH FOR WRITE
00744  M01S00696.sfs     +++|          SA6    A4
00745  M01S00697.sfs     +++|          SA3    X3+RA0+1    SAVE LINK
00746  M01S00698.sfs     +++|          SA1    A0+PNEC     LINK TO LAST BLOCK
00747  M01S00699.sfs     +++|          BX7    X3
00748  M01S00700.sfs     +++|          BX6    X1
00749  M01S00701.sfs     +++|          SA6    A3+
00750  M01S00702.sfs     +++|          SA7    PNEE
00751  M01S00703.sfs     +++|          RJ     WTB         WRITE BLOCK
00752  M01S00704.sfs     +++|          SA1    PNED        RESET FET ADDRESS
00753  M01S00705.sfs     +++|          SA2    PNEE        RESTORE LINK
00754  M01S00706.sfs     +++|          SX0    X1
00755  M01S00707.sfs     +++|          SX6    A0
00756  M01S00708.sfs     +++|          BX7    X2
00757  M01S00709.sfs     +++|          LX6    1
00758  M01S00710.sfs     +++|          SA1    X6+RA0+1    SAVE RANDOM ADDRESS OF WRITE
00759  M01S00711.sfs     +++|          SA7    A1
00760  M01S00712.sfs     +++|          BX7    X1
00761  M01S00713.sfs     +++|          SA1    PNEA        RESET FWA
00762  M01S00714.sfs     +++|          BX6    X1
00763  M01S00715.sfs     +++|          SA7    A0+PNEC
00764  M01S00716.sfs     +++|          SA6    A0+FTAB
00765  M01S00717.sfs     +++|          SA2    PNEB        RESET LENGTH
00766  M01S00718.sfs     +++|          BX7    X2
00767  M01S00719.sfs     +++|          BX6    X6-X6       RESET TABLE INDEX
00768  M01S00720.sfs     +++|          SA7    A0+LTAB
00769  M01S00721.sfs     +++|          SA6    A0+PNAA
00770  M01S00722.sfs     +++| PNE2     RJ     PNA         PICK NEXT ADDRESS
00771  M01S00723.sfs     +++|          SA5    PNEF        RESET FET ADDRESS
00772  M01S00724.sfs     +++|          EQ     PNEX        RETURN
00773  M01S00725.sfs     +++|
00774  M01S00726.sfs     +++| PNEA     BSSZ   1           HOLD FOR FWA
00775  M01S00727.sfs     +++| PNEB     BSSZ   1           HOLD FOR LENGTH
00776  M01S00728.sfs     +++| PNEC     BSSZ   NTAB-2      TABLE INDICES
00777  M01S00729.sfs     +++| PNED     CON    0           FET ADDRESS HOLD AREA
00778  M01S00730.sfs     +++| PNEE     CON    0           HOLD FOR LINK
00779  M01S00731.sfs     +++| PNEF     CON    0           FET ADDRESS HOLD AREA
00780  M01S00732.sfs     +++| PNEG     CON    0           HOLD FOR TABLE FWA BEFORE SORT
00781  M01S00733.sfs     +++| SBT      SPACE  4
00782  M01S00734.sfs     +++|**        SBT - SET BLOCK IN TABLE.
00783  M01S00735.sfs     +++|*
00784  M01S00736.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
00785  M01S00737.sfs     +++|*                (X0)        ADDRESS OF FET (FOR READ).
00786  M01S00738.sfs     +++|*                (SE)        ADDRESS OF SEARCH ELEMENT.
00787  M01S00739.sfs     +++|*                (B6)        RANDOM ADDRESS OF FIRST SEARCH BLOCK.
00788  M01S00740.sfs     +++|*
00789  M01S00741.sfs     +++|*         EXIT   ((A0*2)+RA0) RANDOM ADDRESS OF BLOCK IN TABLE.
00790  M01S00742.sfs     +++|*                ((A0*2)+RA0+1) RANDOM ADDRESS OF LINKED BLOCK.
00791  M01S00743.sfs     +++|*                (X3)        ADDRESS OF ENTRY IN TABLE(IF X4=0).
00792  M01S00744.sfs     +++|*                (X4) = 0    IF EXACT ENTRY FOUND.
00793  M01S00745.sfs     +++|*                (X5)        RANDOM ADDRESS OF NEXT LEVEL BLOCK.
00794  M01S00746.sfs     +++|*                (X6) " 0    IF ERROR.
00795  M01S00747.sfs     +++|*
00796  M01S00748.sfs     +++|*         CALLS  ANB, MVE, MWS.
00797  M01S00749.sfs     +++|*
00798  M01S00750.sfs     +++|*         USES   ALL REGISTERS.
00799  M01S00751.sfs     +++|
00800  M01S00752.sfs     +++|
00801  M01S00753.sfs     +++| SBT0     SA4    SBTA
00802  M01S00754.sfs     +++|          SA3    SBTD        ADDRESS OF ENTRY
00803  M01S00755.sfs     +++|          SA1    A4+B1       RESET FET ADDRESSES
00804  M01S00756.sfs     +++|          BX0    X1
00805  M01S00757.sfs     +++|
00806  M01S00758.sfs     +++| SBT      SUBR               ENTRY/EXIT
00807  M01S00759.sfs     +++|          BX6    X6-X6
00808  M01S00760.sfs     +++|          SA6    SBTE        CLEAR PREVIOUS RANDOM ADDRESS
00809  M01S00761.sfs     +++|          BX6    X0          SAVE FET ADDRESS
00810  M01S00762.sfs     +++|          SA6    SBTB
00811  M01S00763.sfs     +++| SBT1     SX3    B6
00812  M01S00764.sfs     +++|          SX5    B0
00813  M01S00765.sfs     +++|          ZR     X3,SBT2     IF NO BLOCK ADDRESS
00814  M01S00766.sfs     +++|          SA1    A0+LTAB     SAVE LENGTH OF TABLE
00815  M01S00767.sfs     +++|          BX6    X1
00816  M01S00768.sfs     +++|          SA6    SBTC
00817  M01S00769.sfs     +++|          SA1    SBTB        SET FET ADDRESS
00818  M01S00770.sfs     +++|          SX6    B6
00819  M01S00771.sfs     +++|          BX0    X1
00820  M01S00772.sfs     +++|          SA6    SBTF        SAVE CURRENT RANDOM ADDRESS
00821  M01S00773.sfs     +++|          RJ     ANB         ADD NEXT BLOCK
00822  M01S00774.sfs     +++|          NZ     X6,SBTX     IF ERROR
00823  M01S00775.sfs     +++|          SA5    SBTC
00824  M01S00776.sfs     +++| SBT2     BX0    X5
00825  M01S00777.sfs     +++|          SA3    SE          ENTRY BLOCK ADDRESS
00826  M01S00778.sfs     +++|          SB6    X3
00827  M01S00779.sfs     +++|          SA2    A0+LTAB     LENGTH
00828  M01S00780.sfs     +++|          NZ     X2,SBT3     IF NOT EMPTY TABLE
00829  M01S00781.sfs     +++|          SA1    CW+2        GET LINK
00830  M01S00782.sfs     +++|          SB6    X1
00831  M01S00783.sfs     +++|          NZ     X1,SBT1     IF LINKED
00832  M01S00784.sfs     +++| SBT3     IX6    X2-X0
00833  M01S00785.sfs     +++|          SA1    A0+FTAB     FWA
00834  M01S00786.sfs     +++|          BX7    X2
00835  M01S00787.sfs     +++|          SA7    SBTC        SAVE LENGTH
00836  M01S00788.sfs     +++|          BX7    X1
00837  M01S00789.sfs     +++|          SA7    A7+B1       SAVE FWA
00838  M01S00790.sfs     +++|          SA6    A2          SET NEW BLOCK LENGTH
00839  M01S00791.sfs     +++|          IX7    X1+X0
00840  M01S00792.sfs     +++|          SA7    A1          SET NEW BLOCK FWA
00841  M01S00793.sfs     +++|          RJ     MWS         SEARCH FOR ENTRY
00842  M01S00794.sfs     +++|          SA1    SBTC        RESTORE TABLE LENGTH
00843  M01S00795.sfs     +++|          SA3    SBTE
00844  M01S00796.sfs     +++|          BX6    X1
00845  M01S00797.sfs     +++|          SA1    A1+B1       RESTORE TABLE FWA
00846  M01S00798.sfs     +++|          BX7    X1
00847  M01S00799.sfs     +++|          BX5    X5-X5
00848  M01S00800.sfs     +++|          SA6    A0+LTAB
00849  M01S00801.sfs     +++|          SA7    A0+FTAB
00850  M01S00802.sfs     +++|          PL     X3,SBT3.1   IF NOT FORCED READ OF BLOCK
00851  M01S00803.sfs     +++|          SB7    B1
00852  M01S00804.sfs     +++|          SX2    B0
00853  M01S00805.sfs     +++| SBT3.1   SA5    A0+CTAB
00854  M01S00806.sfs     +++|          SB3    B2-B1
00855  M01S00807.sfs     +++|          SA5    B3+X5
00856  M01S00808.sfs     +++|          SX6    B2          SAVE ADDRESS OF ENTRY
00857  M01S00809.sfs     +++|          SA6    SBTD
00858  M01S00810.sfs     +++|          BX6    X2
00859  M01S00811.sfs     +++|          SA6    SBTA
00860  M01S00812.sfs     +++|          SA1    SBTF
00861  M01S00813.sfs     +++|          SB6    B0
00862  M01S00814.sfs     +++|          BX6    X1
00863  M01S00815.sfs     +++|          PL     B7,SBT5     IF ENTRY FOUND OR BEFORE TABLE
00864  M01S00816.sfs     +++|          SA2    CW+2
00865  M01S00817.sfs     +++|          SB6    X2
00866  M01S00818.sfs     +++|          SA6    A3          UPDATE PREVIOUS RANDOM ADDRESS
00867  M01S00819.sfs     +++| SBT5     SA1    A0+FTAB
00868  M01S00820.sfs     +++|          IX1    X1-X4
00869  M01S00821.sfs     +++|          SX2    A0
00870  M01S00822.sfs     +++|          LX2    1
00871  M01S00823.sfs     +++|          SA2    RA0+X2
00872  M01S00824.sfs     +++|          SA3    A2+B1
00873  M01S00825.sfs     +++|          SB5    B7
00874  M01S00826.sfs     +++|          BX6    X3
00875  M01S00827.sfs     +++|          SA6    A2
00876  M01S00828.sfs     +++|          ZR     X1,SBT7     IF FIRST BLOCK
00877  M01S00829.sfs     +++|          ZR     B5,SBT6     IF ENTRY BEFORE BLOCK
00878  M01S00830.sfs     +++|          SA1    A0+LTAB     SET LENGTH
00879  M01S00831.sfs     +++|          IX6    X1-X0
00880  M01S00832.sfs     +++|          SA6    A1
00881  M01S00833.sfs     +++|          SA3    A0+FTAB     SET FWA
00882  M01S00834.sfs     +++|          SA2    SBTD        ADJUST ENTRY ADDRESS
00883  M01S00835.sfs     +++|          IX7    X4-X3
00884  M01S00836.sfs     +++|          IX7    X2-X7
00885  M01S00837.sfs     +++|          SA7    A2
00886  M01S00838.sfs     +++|          MOVE   X6,X4,X3    MOVE BLOCK DOWN
00887  M01S00839.sfs     +++|          EQ     SBT7
00888  M01S00840.sfs     +++|
00889  M01S00841.sfs     +++| SBT6     BX6    X2          RESET RANDOM ADDRESS
00890  M01S00842.sfs     +++|          SA6    A2
00891  M01S00843.sfs     +++|          BX7    X0          RESET LENGTH
00892  M01S00844.sfs     +++|          BX6    X6-X6
00893  M01S00845.sfs     +++|          SA1    SBTE
00894  M01S00846.sfs     +++|          SA7    A0+LTAB
00895  M01S00847.sfs     +++|          SB6    A0
00896  M01S00848.sfs     +++|          MX7    1
00897  M01S00849.sfs     +++|          NZ     B6,SBT0     IF NOT LEVEL - 0
00898  M01S00850.sfs     +++|          SB6    X1
00899  M01S00851.sfs     +++|          SA7    A1          SET FORCED READ OF BLOCK
00900  M01S00852.sfs     +++|          EQ     SBT1        GO READ BLOCK
00901  M01S00853.sfs     +++|
00902  M01S00854.sfs     +++| SBT7     ZR     B5,SBT9     IF ENTRY BEFORE BLOCK
00903  M01S00855.sfs     +++|          NZ     B6,SBT1     IF MORE BLOCKS TO PROCESS
00904  M01S00856.sfs     +++| SBT8     SX2    A0
00905  M01S00857.sfs     +++|          LX2    1
00906  M01S00858.sfs     +++|          SA1    CW+2        SET RANDOM ADDRESS OF NEXT BLOCK
00907  M01S00859.sfs     +++|          BX7    X1
00908  M01S00860.sfs     +++|          BX6    X6-X6
00909  M01S00861.sfs     +++|          SA7    X2+RA0+1
00910  M01S00862.sfs     +++|          EQ     SBT0        RETURN
00911  M01S00863.sfs     +++|
00912  M01S00864.sfs     +++| SBT9     SX6    B1
00913  M01S00865.sfs     +++|          SA6    SBTA
00914  M01S00866.sfs     +++|          EQ     SBT8
00915  M01S00867.sfs     +++|
00916  M01S00868.sfs     +++| SBTA     BSSZ   1           ENTRY FOUND FLAG
00917  M01S00869.sfs     +++| SBTB     CON    0           FET ADDRESS HOLD AREA
00918  M01S00870.sfs     +++| SBTC     CON    0,0         TABLE LENGTH AND FWA HOLD AREA
00919  M01S00871.sfs     +++| SBTD     CON    0           ADDRESS OF ENTRY
00920  M01S00872.sfs     +++| SBTE     CON    0           PREVIOUS RANDOM ADDRESS
00921  M01S00873.sfs     +++| SBTF     CON    0           CURRENT RANDOM ADDRESS
00922  M01S00874.sfs     +++| SPB      SPACE  4
00923  M01S00875.sfs     +++|**        SPB - SET PRIMARY BLOCK.
00924  M01S00876.sfs     +++|*
00925  M01S00877.sfs     +++|*         ENTRY  (X1)        ADDRESS OF SEARCH ELEMENT.
00926  M01S00878.sfs     +++|*                (X0)        ADDRESS OF FET(FOR READ).
00927  M01S00879.sfs     +++|*
00928  M01S00880.sfs     +++|*         EXIT   (SL)        RANDOM ADDRESS OF NEXT LEVEL BLOCK.
00929  M01S00881.sfs     +++|*                (X3)        ADDRESS OF ENTRY (IF X4=0).
00930  M01S00882.sfs     +++|*                (X4) = 0    IF EXACT ENTRY FOUND.
00931  M01S00883.sfs     +++|*                (X5)        RANDOM ADDRESS OF NEXT LEVEL BLOCK.
00932  M01S00884.sfs     +++|*                (X6) " 0    IF ERROR.
00933  M01S00885.sfs     +++|*                TABLES AND POINTERS FOR UPDATE.
00934  M01S00886.sfs     +++|*
00935  M01S00887.sfs     +++|*         CALLS  SBT.
00936  M01S00888.sfs     +++|*
00937  M01S00889.sfs     +++|*         USES   ALL REGISTERS.
00938  M01S00890.sfs     +++|
00939  M01S00891.sfs     +++|
00940  M01S00892.sfs     +++| SPB      SUBR               ENTRY/EXIT
00941  M01S00893.sfs     +++|          BX6    X1          SAVE ADDRESS OF SEARCH ELEMENT
00942  M01S00894.sfs     +++|          SA6    SE
00943  M01S00895.sfs     +++|          BX6    X6-X6       RESET LENGTH
00944  M01S00896.sfs     +++|          SA6    L.TAB0
00945  M01S00897.sfs     +++|          SA6    L.TAB1
00946  M01S00898.sfs     +++|          SA6    SL
00947  M01S00899.sfs     +++|          SA0    B0          TABLE 0
00948  M01S00900.sfs     +++|          SB6    B1
00949  M01S00901.sfs     +++|          RJ     SBT         SET BLOCK IN TABLE
00950  M01S00902.sfs     +++|          NZ     X6,SPBX     RETURN - IF ERROR
00951  M01S00903.sfs     +++|          ZR     X5,SPB1     IF NO ENTRY
00952  M01S00904.sfs     +++|          SA0    B1          TABLE 1
00953  M01S00905.sfs     +++|          SB6    X5
00954  M01S00906.sfs     +++|          RJ     SBT         SET BLOCK IN TABLE
00955  M01S00907.sfs     +++|          NZ     X6,SPBX     RETURN - IF ERROR
00956  M01S00908.sfs     +++|          NZ     X4,SPB1     IF ENTRY NOT FOUND
00957  M01S00909.sfs     +++|          BX6    X5
00958  M01S00910.sfs     +++|          SA6    SL
00959  M01S00911.sfs     +++| SPB1     BX6    X6-X6
00960  M01S00912.sfs     +++|          EQ     SPBX        RETURN
00961  M01S00913.sfs     +++|          TITLE  TABLE MANIPULATION ROUTINES.
00962  M01S00914.sfs     +++|***       THE FOLLOWING ROUTINES ARE PROVIDED TO PERFORM VARIOUS
00963  M01S00915.sfs     +++|*         TABLE MANIPULATION FUNCTIONS.
00964  M01S00916.sfs     +++|*
00965  M01S00917.sfs     +++|*         *MWS* PROVIDES A MULTIPLE WORD SEARCH WHERE WORD COUNT PER
00966  M01S00918.sfs     +++|*         ENTRY AND WORDS PER ENTRY TO COMPARE ON MUST BE DEFINED.
00967  M01S00919.sfs     +++|*
00968  M01S00920.sfs     +++|*         *SDF* WILL PLACE DATA IN THE PROPER FIELD FROM THE CONTROL
00969  M01S00921.sfs     +++|*         INFORMATION SUPPLIED THROUGH THE IDENTIFIER TABLE USED IN
00970  M01S00922.sfs     +++|*         THE INPUT PROCESSING FUNCTION *SCI*.
00971  M01S00923.sfs     +++|*
00972  M01S00924.sfs     +++|*         *SFT* REPLACES UNNEEDED TABLE AREAS WITH BLANKS IN ARDER THAT
00973  M01S00925.sfs     +++|*         THE DATA IS IN AN OUTPUT TYPE FORMAT.  (USED MAINLY WITH THE
00974  M01S00926.sfs     +++|*         INQUIRE OPTION).
00975  M01S00927.sfs     +++|*
00976  M01S00928.sfs     +++|*         *STB* SORTS A GIVEN TABLE, WHICH INCLUDES DELETING ZEROED
00977  M01S00929.sfs     +++|*         ENTRIES FROM THE TABLE.
00978  M01S00930.sfs     +++| DZE      SPACE  4
00979  M01S00931.sfs     +++|**        DZE - DELETE ZERO ENTRIES.
00980  M01S00932.sfs     +++|*
00981  M01S00933.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
00982  M01S00934.sfs     +++|*
00983  M01S00935.sfs     +++|*         EXIT   LEADING ZERO ENTRIES DELETED FROM TABLE.
00984  M01S00936.sfs     +++|*                TABLE POINTERS UPDATED.
00985  M01S00937.sfs     +++|*
00986  M01S00938.sfs     +++|*         CALLS  NONE.
00987  M01S00939.sfs     +++|*
00988  M01S00940.sfs     +++|*         USES   A - 1, 2, 3, 4, 6.
00989  M01S00941.sfs     +++|*                X - 1, 2, 3, 4, 6.
00990  M01S00942.sfs     +++|
00991  M01S00943.sfs     +++|
00992  M01S00944.sfs     +++| DZE      SUBR               ENTRY/EXIT
00993  M01S00945.sfs     +++|          SA1    A0+FTAB     FWA
00994  M01S00946.sfs     +++|          SA2    A0+LTAB     LENGTH
00995  M01S00947.sfs     +++|          SA4    A0+CTAB     WORDS/ENTRY
00996  M01S00948.sfs     +++|          IX2    X1+X2
00997  M01S00949.sfs     +++|          SB3    X4
00998  M01S00950.sfs     +++| DZE1     IX4    X1-X2
00999  M01S00951.sfs     +++|          SA3    X1
01000  M01S00952.sfs     +++|          SX1    X1+B3
01001  M01S00953.sfs     +++|          PL     X4,DZE2     IF END OF TABLE
01002  M01S00954.sfs     +++|          ZR     X3,DZE1     IF ZERO ENTRY
01003  M01S00955.sfs     +++| DZE2     SX6    B3          SET FWA
01004  M01S00956.sfs     +++|          IX6    X1-X6
01005  M01S00957.sfs     +++|          SA6    A1
01006  M01S00958.sfs     +++|          IX6    X2-X6       SET LENGTH
01007  M01S00959.sfs     +++|          SA6    A2
01008  M01S00960.sfs     +++|          EQ     DZEX        RETURN
01009  M01S00961.sfs     +++| MWS      SPACE  4
01010  M01S00962.sfs     +++|**        MWS - MULTIPLE WORD TABLE SEARCH.
01011  M01S00963.sfs     +++|*                IF TABLE IS INDICATED AS SORTED, ENTRIES ARE SEARCHED
01012  M01S00964.sfs     +++|*                ASSUMING LOWEST DISPLAY CODE VALUES ARE FIRST.  (IF
01013  M01S00965.sfs     +++|*                VALUES ARE INTEGER VALUES, THEY WILL NOT BE SEARCHED
01014  M01S00966.sfs     +++|*                FOR PROPERLY.)
01015  M01S00967.sfs     +++|*
01016  M01S00968.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
01017  M01S00969.sfs     +++|*                (X1) = 0    IF TABLE NOT SORTED.
01018  M01S00970.sfs     +++|*                (B6)        ENTRY BLOCK ADDRESS.
01019  M01S00971.sfs     +++|*                ((A0)+CTAB) WORD COUNT/ENTRY
01020  M01S00972.sfs     +++|*                ((A0)+STAB) WORD COUNT/ENTRY TO COMPARE.
01021  M01S00973.sfs     +++|*
01022  M01S00974.sfs     +++|*         EXIT   (X2) = 0    IF ENTRY FOUND.
01023  M01S00975.sfs     +++|*                (X4)        FWA OF TABLE.
01024  M01S00976.sfs     +++|*                (B2)        ADDRESS OF REQUIRED ENTRY.
01025  M01S00977.sfs     +++|*                (B7) = -    IF ENTRY BEYOND TABLE.
01026  M01S00978.sfs     +++|*                     = 0    IF ENTRY BEFORE TABLE.
01027  M01S00979.sfs     +++|*                     = +    IF ENTRY IN TABLE.
01028  M01S00980.sfs     +++|*
01029  M01S00981.sfs     +++|*         CALLS  NONE.
01030  M01S00982.sfs     +++|*
01031  M01S00983.sfs     +++|*         USES   A - 2, 3, 4.
01032  M01S00984.sfs     +++|*                X - 2, 3, 4.
01033  M01S00985.sfs     +++|*                B - 1, 2, 3, 4, 5, 6, 7.
01034  M01S00986.sfs     +++|
01035  M01S00987.sfs     +++|
01036  M01S00988.sfs     +++| MWS      SUBR               ENTRY/EXIT
01037  M01S00989.sfs     +++|          SA4    A0+FTAB     FWA
01038  M01S00990.sfs     +++|          SA2    A0+LTAB     LENGTH
01039  M01S00991.sfs     +++|          SB2    X4
01040  M01S00992.sfs     +++|          SB3    X2
01041  M01S00993.sfs     +++|          SA2    A0+STAB     WORD COUNT/ENTRY TO COMPARE
01042  M01S00994.sfs     +++|          SB4    X2-1
01043  M01S00995.sfs     +++|          SA2    A0+CTAB     WORD COUNT/ENTRY
01044  M01S00996.sfs     +++|          SB7    X2
01045  M01S00997.sfs     +++|          SB3    B2+B3       LWA
01046  M01S00998.sfs     +++|          SX2    -B1
01047  M01S00999.sfs     +++| MWS1     EQ     B2,B3,MWS7  IF EMPTY TABLE
01048  M01S01000.sfs     +++|          SB5    -B1
01049  M01S01001.sfs     +++| MWS2     SB5    B5+B1       INDEX
01050  M01S01002.sfs     +++|          SA2    B2+B5       TABLE ENTRY
01051  M01S01003.sfs     +++|          SA3    B6+B5       SEARCH ENTRY
01052  M01S01004.sfs     +++|          NG     X2,MWS3     IF FIRST OPERAND NEGATIVE
01053  M01S01005.sfs     +++|          PL     X3,MWS4     IF SAME SIGN
01054  M01S01006.sfs     +++|          SX2    -B1
01055  M01S01007.sfs     +++|          EQ     MWS5
01056  M01S01008.sfs     +++| MWS3     NG     X3,MWS4     IF SAME SIGN
01057  M01S01009.sfs     +++|          SX2    B1
01058  M01S01010.sfs     +++|          EQ     MWS5
01059  M01S01011.sfs     +++| MWS4     IX2    X2-X3
01060  M01S01012.sfs     +++|          NZ     X2,MWS5     IF NO MATCH
01061  M01S01013.sfs     +++|          GE     B5,B4,MWSX  RETURN - IF END OF SEARCH
01062  M01S01014.sfs     +++|          EQ     MWS2
01063  M01S01015.sfs     +++|
01064  M01S01016.sfs     +++| MWS5     ZR     X1,MWS6     IF NOT SORTED
01065  M01S01017.sfs     +++|          PL     X2,MWS8     IF PAST ENTRY
01066  M01S01018.sfs     +++| MWS6     SB2    B2+B7       INCREMENT TABLE ENTRY
01067  M01S01019.sfs     +++|          LT     B2,B3,MWS1  IF MORE TABLE
01068  M01S01020.sfs     +++|          SB2    B2-B7       BACK UP ONE ENTRY
01069  M01S01021.sfs     +++| MWS7     SB7    -B1
01070  M01S01022.sfs     +++|          EQ     MWSX        RETURN
01071  M01S01023.sfs     +++|
01072  M01S01024.sfs     +++| MWS8     SB5    X4
01073  M01S01025.sfs     +++|          EQ     B5,B2,MWS9  IF FIRST ENTRY
01074  M01S01026.sfs     +++|          SB2    B2-B7       BACK UP ONE ENTRY
01075  M01S01027.sfs     +++|          EQ     B5,B2,MWSX  RETURN - IF FIRST ENTRY
01076  M01S01028.sfs     +++| MWS9     SB7    B2-B5
01077  M01S01029.sfs     +++|          EQ     MWSX        RETURN
01078  M01S01030.sfs     +++| SDF      SPACE  4
01079  M01S01031.sfs     +++|**        SDF - SET DATA IN FIELD.
01080  M01S01032.sfs     +++|*
01081  M01S01033.sfs     +++|*         ENTRY  (DF)        DATA FIELD POSITIONS (SET BY SCI).
01082  M01S01034.sfs     +++|*                (X3)        FIRST WORD ADDRESS OF DATA.
01083  M01S01035.sfs     +++|*                (X6)        DATA.
01084  M01S01036.sfs     +++|*
01085  M01S01037.sfs     +++|*         EXIT   DATA FIELDS SET.
01086  M01S01038.sfs     +++|*
01087  M01S01039.sfs     +++|*         CALLS  NONE.
01088  M01S01040.sfs     +++|*
01089  M01S01041.sfs     +++|*         USES   A - 1, 2, 6.
01090  M01S01042.sfs     +++|*                X - 1, 2, 3, 6.
01091  M01S01043.sfs     +++|*                B - 1, 4, 5, 6.
01092  M01S01044.sfs     +++|
01093  M01S01045.sfs     +++|
01094  M01S01046.sfs     +++| SDF      SUBR               ENTRY/EXIT
01095  M01S01047.sfs     +++|          SA1    DF+1        GET UPPER BIT POSITION
01096  M01S01048.sfs     +++|          SB6    X1+B1
01097  M01S01049.sfs     +++|          SA2    A1+B1       GET FIELD SIZE
01098  M01S01050.sfs     +++|          SB5    X2-60D+1
01099  M01S01051.sfs     +++|          SB4    X2
01100  M01S01052.sfs     +++|          SA2    A2+B1       GET WORD ADDRESS
01101  M01S01053.sfs     +++|          IX3    X3+X2
01102  M01S01054.sfs     +++|          SA2    X3
01103  M01S01055.sfs     +++|          EQ     B5,B1,SDF1  IF FULL WORD
01104  M01S01056.sfs     +++|          MX1    1           SET MASK
01105  M01S01057.sfs     +++|          LX1    X1,B5
01106  M01S01058.sfs     +++|          SB5    B6-B4
01107  M01S01059.sfs     +++|          BX6    -X1*X6      CLEAR DATA FIELD
01108  M01S01060.sfs     +++|          LX1    X1,B5       MOVE MASK TO POSITION
01109  M01S01061.sfs     +++|          LX6    X6,B5
01110  M01S01062.sfs     +++|          BX2    X1*X2       MERGE DATA
01111  M01S01063.sfs     +++|          BX6    X6+X2
01112  M01S01064.sfs     +++| SDF1     SA6    A2
01113  M01S01065.sfs     +++|          EQ     SDFX        RETURN
01114  M01S01066.sfs     +++| SFT      SPACE  4
01115  M01S01067.sfs     +++|**        SFT - SPACE FILL TABLE.
01116  M01S01068.sfs     +++|*
01117  M01S01069.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
01118  M01S01070.sfs     +++|*
01119  M01S01071.sfs     +++|*         EXIT   ALL WORDS IN TABLE SPACE FILLED.
01120  M01S01072.sfs     +++|*                WORD PRECEEDING TABLE SET TO BLANKS.
01121  M01S01073.sfs     +++|*
01122  M01S01074.sfs     +++|*         CALLS  SFN.
01123  M01S01075.sfs     +++|*
01124  M01S01076.sfs     +++|*         USES   A - 1, 2, 3, 4, 6.
01125  M01S01077.sfs     +++|*                X - 1, 2, 3, 4, 6, 7.
01126  M01S01078.sfs     +++|*                B - 2, 3, 4, 5, 6.
01127  M01S01079.sfs     +++|
01128  M01S01080.sfs     +++|
01129  M01S01081.sfs     +++| SFT      SUBR               ENTRY/EXIT
01130  M01S01082.sfs     +++|          SA2    A0+FTAB     FWA
01131  M01S01083.sfs     +++|          SA4    A0+LTAB     LENGTH
01132  M01S01084.sfs     +++|          SB4    X2
01133  M01S01085.sfs     +++|          SB6    X4
01134  M01S01086.sfs     +++|          SA4    SFTA
01135  M01S01087.sfs     +++|          BX6    X4
01136  M01S01088.sfs     +++|          SA6    B4-B1
01137  M01S01089.sfs     +++|          SB5    B0
01138  M01S01090.sfs     +++| SFT1     SA2    A0+CTAB     WORDS/ENTRY
01139  M01S01091.sfs     +++|          SB3    X2
01140  M01S01092.sfs     +++|
01141  M01S01093.sfs     +++| SFT2     GE     B5,B6,SFTX  RETURN - IF END OF TABLE
01142  M01S01094.sfs     +++|          SA1    B4+B5
01143  M01S01095.sfs     +++|          RJ     SFN         SPACE FILL
01144  M01S01096.sfs     +++|          SA6    A1
01145  M01S01097.sfs     +++|          SB5    B5+B1
01146  M01S01098.sfs     +++|          EQ     B3,B1,SFT2  IF ONLY ONE WORD/ENTRY
01147  M01S01099.sfs     +++|          SB3    B3-B1
01148  M01S01100.sfs     +++|          GT     B3,B1,SFT2  IF MORE WORDS IN ENTRY.
01149  M01S01101.sfs     +++|          BX6    X4
01150  M01S01102.sfs     +++|          SA6    A6+B1
01151  M01S01103.sfs     +++|          SB5    B5+B1
01152  M01S01104.sfs     +++|          EQ     SFT1        LOOP FOR NEXT ENTRY
01153  M01S01105.sfs     +++|
01154  M01S01106.sfs     +++| SFTA     DATA   10H
Line S01107 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01155  M02S01107.ns2538  ---| STB      SPACE  4
01156  M01S00005.ns2538  +++| STB      SPACE  4,20
01157  M01S01108.sfs     +++|**        STB - SORT TABLE.
01158  M01S01109.sfs     +++|*                ENTRIES ARE SORTED WITH LOWEST DISPLAY CODE VALUES
01159  M01S01110.sfs     +++|*                COMING FIRST.  WITH THIS METHOD, NEGATIVE INTEGER
01160  M01S01111.sfs     +++|*                VALUES ARE NOT SORTED PROPERLY.
01161  M01S01112.sfs     +++|*
01162  M01S01113.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
01163  M01S01114.sfs     +++|*                ((A0)+CTAB) WORD COUNT/ENTRY.
01164  M01S01115.sfs     +++|*                ((A0)+STAB) WORD COUNT/ENTRY TO COMPARE.
01165  M01S01116.sfs     +++|*
01166  M01S01117.sfs     +++|*         EXIT   TABLE SORTED.
01167  M01S01118.sfs     +++|*
Line S01119 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01168  M02S01119.ns2538  ---|*         CALLS  DZE.
Line S01120 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01169  M02S01120.ns2538  ---|*
Line S01121 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01170  M02S01121.ns2538  ---|*         USES   A - 1, 2, 6, 7.
Line S01122 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01171  M02S01122.ns2538  ---|*                X - 1, 2, 3, 4, 6, 7.
Line S01123 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01172  M02S01123.ns2538  ---|*                B - 2, 3, 4, 5, 6, 7.
Line S01124 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01173  M02S01124.ns2538  ---|
Line S01125 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01174  M02S01125.ns2538  ---|
Line S01126 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01175  M02S01126.ns2538  ---| STB0     RJ     DZE         DELETE ZERO ENTRIES
Line S01127 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01176  M02S01127.ns2538  ---|
Line S01128 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01177  M02S01128.ns2538  ---| STB      SUBR               ENTRY/EXIT
Line S01129 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01178  M02S01129.ns2538  ---|          SA1    A0+CTAB     WORD COUNT/ENTRY
Line S01130 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01179  M02S01130.ns2538  ---|          SB3    X1
Line S01131 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01180  M02S01131.ns2538  ---|          SA1    A0+FTAB     (B4) = FWA
Line S01132 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01181  M02S01132.ns2538  ---|          SA2    A0+LTAB     (B5) = LENGTH
Line S01133 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01182  M02S01133.ns2538  ---|          SB4    X1
Line S01134 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01183  M02S01134.ns2538  ---|          SB5    X2
Line S01135 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01184  M02S01135.ns2538  ---|          SB5    B5-B3       DECREMENT ONE ENTRY
Line S01136 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01185  M02S01136.ns2538  ---|          SB6    B0
Line S01137 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01186  M02S01137.ns2538  ---|
Line S01138 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01187  M02S01138.ns2538  ---| STB1     SX7    B0+         CLEAR EXCHANGE INDICATOR
Line S01139 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01188  M02S01139.ns2538  ---|          SA7    STBA
Line S01140 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01189  M02S01140.ns2538  ---| STB2     SX4    B6
Line S01141 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01190  M02S01141.ns2538  ---|          SA1    A0+STAB     WORD COUNT/ENTRY TO COMPARE
Line S01142 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01191  M02S01142.ns2538  ---|          SB7    X1
Line S01143 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01192  M02S01143.ns2538  ---|
Line S01144 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01193  M02S01144.ns2538  ---| STB3     GE     B6,B5,STB9  IF END OF TABLE
Line S01145 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01194  M02S01145.ns2538  ---|          SA1    B4+B6       A(I)
Line S01146 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01195  M02S01146.ns2538  ---|          SA2    A1+B3       A(I+1)
Line S01147 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01196  M02S01147.ns2538  ---|          NG     X1,STB4     IF A(I) NEGATIVE
Line S01148 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01197  M02S01148.ns2538  ---|          PL     X2,STB5     IF SAME SIGN
Line S01149 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01198  M02S01149.ns2538  ---|          EQ     STB6
Line S01150 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01199  M02S01150.ns2538  ---| STB4     PL     X2,STB7     IF OPOSITE SIGN
Line S01151 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01200  M02S01151.ns2538  ---| STB5     IX7    X2-X1
Line S01152 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01201  M02S01152.ns2538  ---|          NG     X7,STB7     IF A(I) .GT. A(I+1) - EXCHANGE
Line S01153 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01202  M02S01153.ns2538  ---|          SB6    B6+B1       I = I+1
Line S01154 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01203  M02S01154.ns2538  ---|          NZ     X7,STB6     IF A(I) .LT. A(I+1) - ADVANCE
Line S01155 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01204  M02S01155.ns2538  ---|          SB7    B7-1
Line S01156 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01205  M02S01156.ns2538  ---|          GE     B7,B1,STB3  IF MORE WORDS TO COMPARE
Line S01157 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01206  M02S01157.ns2538  ---| STB6     SB6    X4+B3       INCREMENT TO NEXT ENTRY
Line S01158 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01207  M02S01158.ns2538  ---|          EQ     STB2        COMPARE NEXT ENTRY
Line S01159 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01208  M02S01159.ns2538  ---|
Line S01160 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01209  M02S01160.ns2538  ---| STB7     SB7    B3
Line S01161 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01210  M02S01161.ns2538  ---|          SX7    B1          INDICATE EXCHANGE
Line S01162 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01211  M02S01162.ns2538  ---|          SA7    A7
Line S01163 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01212  M02S01163.ns2538  ---|          SB6    X4
Line S01164 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01213  M02S01164.ns2538  ---|
Line S01165 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01214  M02S01165.ns2538  ---| STB8     SA1    B4+B6       EXCHANGE A(I) AND A(I+1)
Line S01166 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01215  M02S01166.ns2538  ---|          SA2    A1+B3
Line S01167 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01216  M02S01167.ns2538  ---|          BX6    X1
Line S01168 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01217  M02S01168.ns2538  ---|          SA6    A2
Line S01169 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01218  M02S01169.ns2538  ---|          LX6    X2
Line S01170 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01219  M02S01170.ns2538  ---|          SA6    A1
Line S01171 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01220  M02S01171.ns2538  ---|          SB6    B6+B1       INCREMENT TO NEXT WORD
Line S01172 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01221  M02S01172.ns2538  ---|          SB7    B7-B1
Line S01173 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01222  M02S01173.ns2538  ---|          EQ     B7,STB2     IF EXCHANGE COMPLETE
Line S01174 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01223  M02S01174.ns2538  ---|          EQ     STB8
Line S01175 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01224  M02S01175.ns2538  ---|
Line S01176 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01225  M02S01176.ns2538  ---| STB9     SA1    A7
Line S01177 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01226  M02S01177.ns2538  ---|          ZR     X1,STB0     IF SORT COMPLETE
Line S01178 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01227  M02S01178.ns2538  ---|          SB6    B0
Line S01179 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01228  M02S01179.ns2538  ---|          EQ     STB1
Line S01180 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01229  M02S01180.ns2538  ---|
Line S01181 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2538
Seq #  *Modification Id* Act 
----------------------------+
01230  M02S01181.ns2538  ---| STBA     CON    0           EXCHANGE INDICATOR
01231  M01S00006.ns2538  +++|*         USES   X - 1, 2, 3, 6.
01232  M01S00007.ns2538  +++|*                A - 0, 1, 2, 3, 6.
01233  M01S00008.ns2538  +++|*                B - 2, 3, 4, 5, 6, 7.
01234  M01S00009.ns2538  +++|*
01235  M01S00010.ns2538  +++|*         CALLS  DZE, GMS.
01236  M01S00011.ns2538  +++|*
01237  M01S00012.ns2538  +++|*         NOTES  SAVES AND RESTORES (A0).
01238  M01S00013.ns2538  +++|
01239  M01S00014.ns2538  +++|
01240  M01S00015.ns2538  +++| STB      SUBR               ENTRY/EXIT
01241  M01S00016.ns2538  +++|          SA1    A0+CTAB     GET NUMBER OF WORDS PER ENTRY
01242  M01S00017.ns2538  +++|          SB5    X1          SET LENGTH OF EACH COLUMN
01243  M01S00018.ns2538  +++|          SX6    A0          SAVE TABLE NUMBER
01244  M01S00019.ns2538  +++|          SA6    STBA
01245  M01S00020.ns2538  +++|          SA2    A0+LTAB     GET LENGTH OF TABLE
01246  M01S00021.ns2538  +++|          IX6    X2/X1       GET NUMBER OF ENTRIES IN TABLE
01247  M01S00022.ns2538  +++|          SA1    A0+STAB     GET NUMBER OF WORDS IN EACH KEY
01248  M01S00023.ns2538  +++|          SA2    A0+FTAB     GET FWA OF TABLE
01249  M01S00024.ns2538  +++|          SB2    B0          SET CHARACTER SORT
01250  M01S00025.ns2538  +++|          SB3    B0          SET ASCENDING SORT
01251  M01S00026.ns2538  +++|          SB4    B1          SET TO SORT ON FIRST COLUMN
01252  M01S00027.ns2538  +++|          SB6    X6          SET NUMBER OF ENTRIES TO SORT
01253  M01S00028.ns2538  +++|          SB7    X2+         SET FWA OF TABLE
01254  M01S00029.ns2538  +++|          RJ     GMS         SORT TABLE
01255  M01S00030.ns2538  +++|          SA1    STBA        RESTORE TABLE NUMBER
01256  M01S00031.ns2538  +++|          SA0    X1+
01257  M01S00032.ns2538  +++|          RJ     DZE         DELETE ZERO ENTRIES
01258  M01S00033.ns2538  +++|          EQ     STBX        RETURN
01259  M01S00034.ns2538  +++|
01260  M01S00035.ns2538  +++|
01261  M01S00036.ns2538  +++| STBA     CON    0           TABLE NUMBER
Line S01182 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01262  M02S01182.ns2290  ---| TOV      SPACE  4
Line S01183 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01263  M02S01183.ns2290  ---|**        TOV - TABLE OVERFLOW.
Line S01184 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01264  M02S01184.ns2290  ---|*
Line S01185 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01265  M02S01185.ns2290  ---|*         ENTRY  FROM *ATS* ONLY.
Line S01186 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01266  M02S01186.ns2290  ---|*                (B6) = EXIT ADDRESS IN *COMCMTP* TO CONTINUE
Line S01187 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01267  M02S01187.ns2290  ---|*                       PROCESSING.
Line S01188 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01268  M02S01188.ns2290  ---|*
Line S01189 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01269  M02S01189.ns2290  ---|*         EXIT   TO (B6).
Line S01190 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01270  M02S01190.ns2290  ---|*                FIELD LENGTH INCREASED BY 1000B WORDS.
Line S01191 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01271  M02S01191.ns2290  ---|*                (TV) .NE. 0, IF FIELD LENGTH LIMIT REACHED.
Line S01192 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01272  M02S01192.ns2290  ---|*
Line S01193 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01273  M02S01193.ns2290  ---|*         USES   A - 3, 6.
Line S01194 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01274  M02S01194.ns2290  ---|*                X - 3, 4, 6.
Line S01195 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01275  M02S01195.ns2290  ---|*
Line S01196 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01276  M02S01196.ns2290  ---|*         MACROS MEMORY.
Line S01197 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01277  M02S01197.ns2290  ---|
Line S01198 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01278  M02S01198.ns2290  ---|
Line S01199 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01279  M02S01199.ns2290  ---| TOV      BSS    0           ENTRY
Line S01200 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01280  M02S01200.ns2290  ---|          SA3    ML          CURRENT FIELD LENGTH
Line S01201 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01281  M02S01201.ns2290  ---|          SX3    X3+1000B
Line S01202 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01282  M02S01202.ns2290  ---|          SX4    X3-FLLM     LIMIT FIELD LENGTH
Line S01203 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01283  M02S01203.ns2290  ---|          NG     X4,TOV1     IF ADEQUATE FIELD LENGTH
Line S01204 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01284  M02S01204.ns2290  ---|          SX6    B1          INDICATE OVERFLOW
Line S01205 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01285  M02S01205.ns2290  ---|          SA6    TV
Line S01206 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01286  M02S01206.ns2290  ---| TOV1     MEMORY CM,TOVB,R,X3
Line S01207 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01287  M02S01207.ns2290  ---|          SA3    TOVB        GET FIELD LENGTH ASSIGNED
Line S01208 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01288  M02S01208.ns2290  ---|          AX3    30
Line S01209 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01289  M02S01209.ns2290  ---|          BX6    X3
Line S01210 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01290  M02S01210.ns2290  ---|          SA6    ML          SET NEW FIELD LENGTH
Line S01211 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01291  M02S01211.ns2290  ---|          SX6    X6-100B
Line S01212 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01292  M02S01212.ns2290  ---|          SA6    F.TEND      ADJUST TABLE LENGTH
Line S01213 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01293  M02S01213.ns2290  ---|          JP     B6          EXIT
Line S01214 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01294  M02S01214.ns2290  ---|
Line S01215 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01295  M02S01215.ns2290  ---|
Line S01216 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01296  M02S01216.ns2290  ---| TO       CON    TOV         TABLE OVERFLOW PROCESSOR ADDRESS FOR *ATS*
Line S01217 Modification History
M01 (Added by) sfs
M02 (Updated by) ns2290
Seq #  *Modification Id* Act 
----------------------------+
01297  M02S01217.ns2290  ---| TOVB     CON    0           FIELD LENGTH STATUS RETURN
01298  M01S01218.sfs     +++|          TITLE  FILE WRITE ROUTINES
01299  M01S01219.sfs     +++|***       THESE ROUTINES PROVIDE ALL FUNCTIONS NECESSARY FOR
01300  M01S01220.sfs     +++|*         WRITING TO THE FILE.
01301  M01S01221.sfs     +++|*
01302  M01S01222.sfs     +++|*         *WTB* PERFORMS ALL WRITES OR REWRITES REQUIRED WHEN
01303  M01S01223.sfs     +++|*         MANIPULATING THE FILE.
01304  M01S01224.sfs     +++|*
01305  M01S01225.sfs     +++|*         *BLD* WRITES THE LEVEL-1 TABLE ON CREATE, BUILDS LEVEL-0
01306  M01S01226.sfs     +++|*         AND WRITES IT TO THE FILE.
01307  M01S01227.sfs     +++|*
01308  M01S01228.sfs     +++|*         *UDD* UPDATES LEVEL-0 INFORMATION UPON COMPLETION
01309  M01S01229.sfs     +++|*         OF AN UPDATE.
01310  M01S01230.sfs     +++|*
01311  M01S01231.sfs     +++|*         *RBA* RESETS BLOCK ADDRESSES TO REFLECT PROPER LINKAGE
01312  M01S01232.sfs     +++|*         UPON COMPETION OF VARIOUS STAGES OF A REFORMAT RUN.
01313  M01S01233.sfs     +++|*
01314  M01S01234.sfs     +++|*         ALL WRITE FUNCTIONS REQUIRE (X5) = FET ADDRESS OF FILE.
01315  M01S01235.sfs     +++| BLD      SPACE  4
01316  M01S01236.sfs     +++|**        BLD - BUILD DIRECTORY.
01317  M01S01237.sfs     +++|*
01318  M01S01238.sfs     +++|*         ENTRY  EOF ENCOUNTERED ON INPUT FILE.
01319  M01S01239.sfs     +++|*                (X5)        FET ADDRESS (FOR WRITE).
01320  M01S01240.sfs     +++|*                (X0)        UPPER 24 BITS = CALLER INFORMATION,
01321  M01S01241.sfs     +++|*                            FOR LEVEL-0, WORD 1.
01322  M01S01242.sfs     +++|*
01323  M01S01243.sfs     +++|*         EXIT   DIRECTORY BUILT AND WRITTEN TO FILE.
01324  M01S01244.sfs     +++|*
01325  M01S01245.sfs     +++|*         CALLS  STB, WTB.
01326  M01S01246.sfs     +++|*
01327  M01S01247.sfs     +++|*         USES   ALL REGISTERS.
01328  M01S01248.sfs     +++|
01329  M01S01249.sfs     +++|
01330  M01S01250.sfs     +++| BLD      SUBR               ENTRY/EXIT
01331  M01S01251.sfs     +++|          SA0    B0
01332  M01S01252.sfs     +++|          SA1    L.TAB1
01333  M01S01253.sfs     +++|          ZR     X1,BLD1     IF NULL CREATE
01334  M01S01254.sfs     +++|          BX6    X0          SAVE CALLER INFORMATION
01335  M01S01255.sfs     +++|          SA0    B1
01336  M01S01256.sfs     +++|          SA6    BLDA
01337  M01S01257.sfs     +++|          RJ     STB         SORT TABLE
01338  M01S01258.sfs     +++|          SX7    B1
01339  M01S01259.sfs     +++|          SA7    CZ
01340  M01S01260.sfs     +++|          RJ     WTB         WRITE TABLE
01341  M01S01261.sfs     +++|          BX7    X7-X7
01342  M01S01262.sfs     +++|          SA7    CZ
01343  M01S01263.sfs     +++|          SA0    B0+
01344  M01S01264.sfs     +++|          RJ     STB         SORT TABLE
01345  M01S01265.sfs     +++|          SA1    BLDA        RESTORE CALLER INFORMATION
01346  M01S01266.sfs     +++|          BX0    X1
01347  M01S01267.sfs     +++| BLD1     RJ     WTB         WRITE TABLE
01348  M01S01268.sfs     +++|          EQ     BLDX        RETURN
01349  M01S01269.sfs     +++|
01350  M01S01270.sfs     +++| BLDA     CON    0           HOLD FOR CALLER INFORMATION
01351  M01S01271.sfs     +++| RBA      SPACE  4
01352  M01S01272.sfs     +++|**        RBA - RESET BLOCK ADDRESSES.
01353  M01S01273.sfs     +++|*
01354  M01S01274.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
01355  M01S01275.sfs     +++|*                (X5)        FET ADDRESS (FOR WRITE).
01356  M01S01276.sfs     +++|*
01357  M01S01277.sfs     +++|*         EXIT   ALL BLOCKS WRITTEN TO FILE.
01358  M01S01278.sfs     +++|*                BLOCK ADDRESSES RESET TO REFLECT CORRECT LINKAGE.
01359  M01S01279.sfs     +++|*                IF LEVEL-1, THEN LEVEL-0 IS CREATED.
01360  M01S01280.sfs     +++|*                (X6)        ADDRESS OF FIRST BLOCK.
01361  M01S01281.sfs     +++|*
01362  M01S01282.sfs     +++|*         CALLS  ADW, ANB, WTB.
01363  M01S01283.sfs     +++|*
01364  M01S01284.sfs     +++|*         USES   ALL REGISTERS.
01365  M01S01285.sfs     +++|
01366  M01S01286.sfs     +++|
01367  M01S01287.sfs     +++| RBA0     BX7    X7-X7       CLEAR TABLE POINTER
01368  M01S01288.sfs     +++|          SA7    A0+PNAA
01369  M01S01289.sfs     +++|
01370  M01S01290.sfs     +++| RBA      SUBR               ENTRY/EXIT
01371  M01S01291.sfs     +++|          SA1    A0+LTAB     CHECK LENGTH
01372  M01S01292.sfs     +++|          BX2    X2-X2
01373  M01S01293.sfs     +++|          SX0    X5
01374  M01S01294.sfs     +++|          ZR     X1,RBA3     IF EMPTY TABLE
01375  M01S01295.sfs     +++|
01376  M01S01296.sfs     +++| RBA1     SX4    A0-1
01377  M01S01297.sfs     +++|          NZ     X4,RBA2     IF NOT LEVEL-1
01378  M01S01298.sfs     +++|          BX6    X6-X6       CLEAR LINK
01379  M01S01299.sfs     +++|          SA6    RA1+1
01380  M01S01300.sfs     +++| RBA2     RJ     WTB         WRITE LAST BLOCK
01381  M01S01301.sfs     +++|          SX6    A0
01382  M01S01302.sfs     +++|          LX6    1
01383  M01S01303.sfs     +++|          SA2    X6+RA0+1    PICK UP ADDRESS OF WRITE
01384  M01S01304.sfs     +++|
01385  M01S01305.sfs     +++| RBA3     BX6    X2
01386  M01S01306.sfs     +++|          SX1    A0          SAVE ADDRESS OF BLOCK
01387  M01S01307.sfs     +++|          SA6    RBAA
01388  M01S01308.sfs     +++|          SA3    A0+PNEC     ADDRESS OF PREVIOUS WRITE
01389  M01S01309.sfs     +++|          ZR     X3,RBA0     IF FINISHED
01390  M01S01310.sfs     +++|          BX6    X3
01391  M01S01311.sfs     +++|          LX1    1
01392  M01S01312.sfs     +++|          SA6    X1+RA0
01393  M01S01313.sfs     +++|          SX0    X5
01394  M01S01314.sfs     +++|          RJ     ANB         ADD NEXT BLOCK
01395  M01S01315.sfs     +++|          SA1    CW+2        LINKED BLOCK
01396  M01S01316.sfs     +++|          SA2    RBAA
01397  M01S01317.sfs     +++|          BX6    X1
01398  M01S01318.sfs     +++|          BX7    X2
01399  M01S01319.sfs     +++|          SA6    A0+PNEC
01400  M01S01320.sfs     +++|          SX1    A0
01401  M01S01321.sfs     +++|          LX1    1
01402  M01S01322.sfs     +++|          SA7    X1+RA0+1
01403  M01S01323.sfs     +++|          SX5    X0          RESET FET ADDRESSES
01404  M01S01324.sfs     +++|          EQ     RBA1        LOOP TO WRITE BLOCK
01405  M01S01325.sfs     +++|
01406  M01S01326.sfs     +++| RBAA     CON    0           HOLD FOR ADDRESS OF WRITE
01407  M01S01327.sfs     +++| UDD      SPACE  4
01408  M01S01328.sfs     +++|**        UDD - UPDATE DIRECTORY.
01409  M01S01329.sfs     +++|*
01410  M01S01330.sfs     +++|*         ENTRY  (X0)        FET ADDRESS (FOR READ).
01411  M01S01331.sfs     +++|*                (X5)        FET ADDRESS (FOR WRITE).
01412  M01S01332.sfs     +++|*                (X6)        UPPER 24 BITS = CALLER INFORMATION,
01413  M01S01333.sfs     +++|*                            FOR LEVEL-0, WORD 1.
01414  M01S01334.sfs     +++|*
01415  M01S01335.sfs     +++|*         EXIT   MODIFICATION DATE UPDATED.
01416  M01S01336.sfs     +++|*                FIRST ENTRY UPDATED IF NECESSARY.
01417  M01S01337.sfs     +++|*                (X6) " 0    IF ERROR.
01418  M01S01338.sfs     +++|*
01419  M01S01339.sfs     +++|*         CALLS  ANB, MVE, WTB.
01420  M01S01340.sfs     +++|*
01421  M01S01341.sfs     +++|*         USES   ALL REGISTERS.
01422  M01S01342.sfs     +++|
01423  M01S01343.sfs     +++|
01424  M01S01344.sfs     +++| UDD      SUBR               ENTRY/EXIT
01425  M01S01345.sfs     +++|          MX3    24
01426  M01S01346.sfs     +++|          BX6    X3*X6
01427  M01S01347.sfs     +++|          SA6    UDDA
01428  M01S01348.sfs     +++|          BX6    X5          SAVE WRITE FET ADDRESS
01429  M01S01349.sfs     +++|          SA6    UDDB
01430  M01S01350.sfs     +++|          BX6    X6-X6       RESET LENGTH
01431  M01S01351.sfs     +++|          SA6    L.TAB0
01432  M01S01352.sfs     +++|          SA6    L.TAB1
01433  M01S01353.sfs     +++|          SA0    B0          TABLE NUMBER
01434  M01S01354.sfs     +++|          SX3    B1          RANDOM ADDRESS
01435  M01S01355.sfs     +++|          RJ     ANB         ADD NEXT BLOCK TO TABLE
01436  M01S01356.sfs     +++|          NZ     X6,UDDX     IF ERROR
01437  M01S01357.sfs     +++|          SA1    CW+2
01438  M01S01358.sfs     +++|          BX6    X1
01439  M01S01359.sfs     +++|          SA6    RA0+1
01440  M01S01360.sfs     +++|          SA1    L.TAB0
01441  M01S01361.sfs     +++|          ZR     X1,UDDX     IF EMPTY FILE
01442  M01S01362.sfs     +++|          SA1    CW+1        UPDATE MODIFICATION DATE
01443  M01S01363.sfs     +++|          SA2    PD
01444  M01S01364.sfs     +++|          MX3    18
01445  M01S01365.sfs     +++|          LX3    36
01446  M01S01366.sfs     +++|          BX6    X3*X1
01447  M01S01367.sfs     +++|          BX6    X6+X2
01448  M01S01368.sfs     +++|          SA3    UDDA
01449  M01S01369.sfs     +++|          BX6    X6+X3
01450  M01S01370.sfs     +++|          SA6    A3
01451  M01S01371.sfs     +++|          SA3    F.TAB0
01452  M01S01372.sfs     +++|          SA1    CTAB
01453  M01S01373.sfs     +++|          SB3    X1-1
01454  M01S01374.sfs     +++|          SA3    X3+B3       RETRIEVE RANDOM ADDRESS OF FIRST BLOCK
01455  M01S01375.sfs     +++|          SA0    B1          TABLE NUMBER
01456  M01S01376.sfs     +++|          RJ     ANB         ADD NEXT BLOCK TO TABLE
01457  M01S01377.sfs     +++|          NZ     X6,UDDX     IF ERROR
01458  M01S01378.sfs     +++|          SA1    L.TAB1
01459  M01S01379.sfs     +++|          ZR     X1,UDDX     RETURN - IF EMPTY TABLE
01460  M01S01380.sfs     +++|          SA3    F.TAB0
01461  M01S01381.sfs     +++|          SA2    F.TAB1
01462  M01S01382.sfs     +++|          SA1    CTAB
01463  M01S01383.sfs     +++|          MOVE   X1-1,X2,X3  REPLACE FIRST ENTRY
01464  M01S01384.sfs     +++|          SA1    UDDA
01465  M01S01385.sfs     +++|          BX6    X1
01466  M01S01386.sfs     +++|          SA6    CW+1
01467  M01S01387.sfs     +++|          SA0    B0          TABLE NUMBER
01468  M01S01388.sfs     +++|          SX6    B1          SET RANDOM ADDRESS
01469  M01S01389.sfs     +++|          SA6    RA0
01470  M01S01390.sfs     +++|          SA5    UDDB        RESET FET ADDRESS
01471  M01S01391.sfs     +++|          BX0    X0-X0
01472  M01S01392.sfs     +++|          RJ     WTB         WRITE BLOCK
01473  M01S01393.sfs     +++|          BX6    X6-X6
01474  M01S01394.sfs     +++|          EQ     UDDX        RETURN
01475  M01S01395.sfs     +++|
01476  M01S01396.sfs     +++| UDDA     CON    0           HOLD AREA
01477  M01S01397.sfs     +++| UDDB     CON    0           FET ADDRESS HOLD AREA
01478  M01S01398.sfs     +++| WTB      SPACE  4
01479  M01S01399.sfs     +++|**        WTB - WRITE BLOCK TO FILE.
01480  M01S01400.sfs     +++|*
01481  M01S01401.sfs     +++|*         ENTRY  (A0)        TABLE NUMBER.
01482  M01S01402.sfs     +++|*                (X0)        UPPER 24 BITS = CALLER INFORMATION,
01483  M01S01403.sfs     +++|*                            FOR LEVEL-0, WORD 1.
01484  M01S01404.sfs     +++|*                (X5)        FET ADDRESS  FOR WRITE).
01485  M01S01405.sfs     +++|*                ((A0*2)+RA0) RANDOM ADDRESS IF UPDATING EXISTING BLOCK.
01486  M01S01406.sfs     +++|*                ((A0*2)+RA0+1) LINK,IF PRESENT.
01487  M01S01407.sfs     +++|*                (CZ) " 0    IF LEVEL-0 TO BE BUILT WHILE WRITING L-1.
01488  M01S01408.sfs     +++|*
01489  M01S01409.sfs     +++|*         EXIT   TABLE WRITTEN TO FILE.
01490  M01S01410.sfs     +++|*                ((A0*2)+RA0+1) RANDOM ADDRESS OF LAST WRITE.
01491  M01S01411.sfs     +++|*
01492  M01S01412.sfs     +++|*         CALLS  ADW, WTW.
01493  M01S01413.sfs     +++|*
01494  M01S01414.sfs     +++|*         USES   ALL REGISTERS.
01495  M01S01415.sfs     +++|
01496  M01S01416.sfs     +++|
01497  M01S01417.sfs     +++| WTB0     SX7    A0
01498  M01S01418.sfs     +++|          SX0    B0          RESET LENGTH
01499  M01S01419.sfs     +++|          ZR     X7,WTB12    IF EMPTY LEVEL-O TABLE
01500  M01S01420.sfs     +++|          SA5    WTBD        RESET FET ADDRESS
01501  M01S01421.sfs     +++|
01502  M01S01422.sfs     +++| WTB      SUBR               ENTRY/EXIT
01503  M01S01423.sfs     +++|          BX6    X5          SAVE FET ADDRESS
01504  M01S01424.sfs     +++|          SA6    WTBD
01505  M01S01425.sfs     +++|          BX6    X0          SAVE STATUS WORD
01506  M01S01426.sfs     +++|          SA6    WTBE
01507  M01S01427.sfs     +++|          BX7    X7-X7
01508  M01S01428.sfs     +++|          SA7    WTBB
01509  M01S01429.sfs     +++|          SX4    A0          PICK UP RANDOM ADDRESS, IF PRESENT
01510  M01S01430.sfs     +++|          LX4    1
01511  M01S01431.sfs     +++|          SA4    X4+RA0
01512  M01S01432.sfs     +++|
01513  M01S01433.sfs     +++|*         DETERMINE IF BLOCK IN TABLE REPLACES AN EXISTING BLOCK ON THE
01514  M01S01434.sfs     +++|*         FILE; AND IF SO, DETERMINE IF BLOCK SPLITTING IS REQUIRED.
01515  M01S01435.sfs     +++|*         SET APPROPRIATE BLOCK LENGTHS.
01516  M01S01436.sfs     +++|
01517  M01S01437.sfs     +++|          SA3    A0+TFBL     FULL BLOCK LENGTH
01518  M01S01438.sfs     +++| WTB1     BX7    X3          SAVE BLOCK LENGTH
01519  M01S01439.sfs     +++|          SA7    WTBA
01520  M01S01440.sfs     +++|          SX0    X3
01521  M01S01441.sfs     +++|          SA1    A0+LTAB     LENGTH
01522  M01S01442.sfs     +++|          NZ     X1,WTB2     IF NOT EMPTY TABLE
01523  M01S01443.sfs     +++|          ZR     X4,WTB0     RETURN - IF NOT REPLACING BLOCK
01524  M01S01444.sfs     +++|          SX0    B0
01525  M01S01445.sfs     +++| WTB2     BX6    X1
01526  M01S01446.sfs     +++|          IX3    X6/X3       FULL PRUS
01527  M01S01447.sfs     +++|          SX7    WTBB
01528  M01S01448.sfs     +++|          SB2    X3
01529  M01S01449.sfs     +++|          BX6    X0
01530  M01S01450.sfs     +++|          IX3    X3*X6       FULL PRUS LENGTH
01531  M01S01451.sfs     +++|          IX6    X1-X3       REMAINING LENGTH
01532  M01S01452.sfs     +++|          ZR     X4,WTB4     IF NO CHECK REQUIRED FOR SPLIT BLOCK
01533  M01S01453.sfs     +++|          EQ     B2,WTB4     IF NO FULL PRUS - BLOCK FITS(NO SPLIT)
01534  M01S01454.sfs     +++|          GT     B2,B1,WTB3  IF MORE THAN 1 FULL PRU (SPLIT BLOCKS)
01535  M01S01455.sfs     +++|          ZR     X6,WTB5     IF NO PARTIAL PRU - BLOCK FITS(NO SPLIT)
01536  M01S01456.sfs     +++|
01537  M01S01457.sfs     +++| WTB3     SA3    A0+TPBL     PARTIAL BLOCK LENGTH
01538  M01S01458.sfs     +++|          SX4    B0+
01539  M01S01459.sfs     +++|          EQ     WTB1
01540  M01S01460.sfs     +++| WTB4     ZR     X6,WTB5     IF NO PARTIAL BLOCK
01541  M01S01461.sfs     +++|          BX0    X6          BLOCK LENGTH
01542  M01S01462.sfs     +++| WTB5     EQ     B2,WTB11    IF NO FULL PRUS - LAST BLOCK
01543  M01S01463.sfs     +++|          GT     B2,B1,WTB6  IF MORE THAN ONE FULL PRU
01544  M01S01464.sfs     +++|          ZR     X6,WTB11    IF NO PARTIAL PRU - LAST BLOCK
01545  M01S01465.sfs     +++|
01546  M01S01466.sfs     +++|*         BUILD CONTROL WORD.
01547  M01S01467.sfs     +++|
01548  M01S01468.sfs     +++| WTB6     SA4    A0+CWL0     CONTROL WORD
01549  M01S01469.sfs     +++|          SA3    A0+CTAB
01550  M01S01470.sfs     +++|          BX2    X0
01551  M01S01471.sfs     +++|          IX6    X2/X3       ENTRIES IN BLOCK
01552  M01S01472.sfs     +++|          LX6    12
01553  M01S01473.sfs     +++|          BX6    X4+X6
01554  M01S01474.sfs     +++|          SX2    X0+2
01555  M01S01475.sfs     +++|          LX2    36
01556  M01S01476.sfs     +++|          BX6    X6+X2
01557  M01S01477.sfs     +++|          SA6    CW
01558  M01S01478.sfs     +++|          SX3    A0          SET LINK
01559  M01S01479.sfs     +++|
01560  M01S01480.sfs     +++|*         SET RANDOM ADDRESS.
01561  M01S01481.sfs     +++|
01562  M01S01482.sfs     +++|          SA2    WTBD
01563  M01S01483.sfs     +++|          RECALL X2
01564  M01S01484.sfs     +++|          SA7    X2+6
01565  M01S01485.sfs     +++|
01566  M01S01486.sfs     +++|*         SET LINKAGE AND WRITE BLOCK.
01567  M01S01487.sfs     +++|
01568  M01S01488.sfs     +++|          LX3    1
01569  M01S01489.sfs     +++|          BX6    X6-X6       CLEAR LINK
01570  M01S01490.sfs     +++|          SA3    X3+RA0+1
01571  M01S01491.sfs     +++|          BX7    X3
01572  M01S01492.sfs     +++|          SA6    A3
01573  M01S01493.sfs     +++|          SA1    CZ
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/sfs.txt · Last modified: by 127.0.0.1