*DECK DB$MURR                                                            MURR 
          IDENT  DB$MURR     UNIT RECORD ROUTINES                        MURR 
          SPACE  6,10 
 VERS     MICRO  1,,*2.3* 
          TITLE  DBMSTRD UNIT RECORD ROUTINES                            MURR 
          TITLE  DB$MILN - INCREMENT LINE NUMBER                         MURR 
*#                                                                       MURR 
* *   DB$MILN - INCREMENT LINE NUMBER            PAGE  1                 MURR 
* *   J. JAN JANIK                               DATE  10/08/75          MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     TO INCREMENT THE LINE NUMBER FOR THE SOURCE LISTING                MURR 
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     LINENBR = LINE NUMBER OF PREVIOUS LINE (BINARY)                    MURR 
                                                                         MURR 
* DC  EXIT CONDITIONS                                                    MURR 
                                                                         MURR 
*     LINENBR = LINENBR + 1                                              MURR 
*     NBRLINE = DISPLAY CODE EQUIV OF LINENBR (1ST WORD OF PRINTED LINE) MURR 
                                                                         MURR 
* DC  CALLING ROUTINES                                                   MURR 
                                                                         MURR 
*     DB$MSCN - SCAN ROUTINES                                            MURR 
                                                                         MURR 
* DC  CALLED ROUTINES                                                    MURR 
                                                                         MURR 
*     DB$CDIS - CONVERT INTEGER TO DISPLAY CODE                          MURR 
*#                                                                       MURR 
          ENTRY  DB$MILN                                                 MURR 
 DB$MILN  JP     *+400000B                                               MURR 
          SB1    1                                                       MURR 
          SA1    LINENBR     GET LINE NUMBER                             MURR 
          SX1    X1+B1       BUMP BY 1                                   MURR 
          BX6    X1                                                      MURR 
          SA6    LINENBR                                                 MURR 
          SX7    A1                                                      MURR 
          SA7    CDISPAR     SAVE ADDR OF NUM TO BE CONVERTED            MURR 
          SA1    A7                                                      JJJ0114
          RJ   =XDB$CDEB     CONVERT TO DECIMAL DISPLAY - LEADING BLANKS
                                                                         MURR 
          SA6    NBRLINE                                                 MURR 
          EQ   DB$MILN                                                   MURR 
          TITLE  DB$MRED - READ INPUT RECORD                             MURR 
*#                                                                       MURR 
* *   DB$MRED - READ INPUT RECORD                PAGE  1                 MURR 
* *   J. JAN JANIK                               DATE  10/08/75          MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     READ INPUT RECORD, PRINTING OLD ONE FIRST                          MURR 
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     DB$MIRL = LENGTH OF PREVIOUS RECORD - 1                            MURR 
*     FRSTIME NON-ZERO IF DB$MRED HAS BEEN ENTERED BEFORE                MURR 
*     LINESLFT = NUMBER OF LINES LEFT ON THE PAGE                        MURR 
*     INPUT AND OUTPUT FILES ARE OPENED                                  MURR 
                                                                         MURR 
* DC  EXIT CONDITIONS                                                    MURR 
                                                                         MURR 
*     PREVIOUS RECORD HAS BEEN SENT TO OUTPUT FILE                       MURR 
*     NEW RECORD IS IN BUFFER DB$MWSA                                    MURR 
*     DB$MIRL = LENGTH OF NEW RECORD                                     MURR 
*     DB$MEOF NOT EQ 0 IF END OF RECORD OR INFO DETECTED                 MURR 
                                                                         MURR 
* DC  CALLING ROUTINES                                                   MURR 
                                                                         MURR 
*     DB$MSCN - SCAN ROUTINE FOR DBMSTRD                                 MURR 
                                                                         MURR 
* DC  CALLED ROUTINES                                                    MURR 
                                                                         MURR 
*     DB$UPHD - CALLED TO PRINT HEADLINE                                 MURR 
                                                                         MURR 
* DC  DESCRIPTION                                                        MURR 
                                                                         MURR 
*     IF THIS IS THE FIRST TIME DB$MRED HAS BEEN ENTERED SET FRSTIME     MURR 
*     NON-ZERO AND GO READ THE RECORD. IF NOT THE FIRST TIME, OUTPUT     MURR 
*     THE PREVIOUS RECORD AFTER ENSURING THERE IS ROOM ON THE PAGE.  THE MURR 
*     CHARACTER COUNT OF THE PREVIOUS RECORD MUST BE INCREASED BY 1,     MURR 
*     SINCE IT IS DECREASED BY 1 IN DB$MSCN.                             MURR 
*     READ A RECORD FROM THE INPUT FILE AND CHECK FOR END OF INPUT       MURR 
*     STREAM (EOR OR EOI). IF END, SET DB$MEOF TO 1 AND RETURN.  IF NOT  MURR 
*     FETCH RECORD LENGTH FROM FIT AND STORE IN DB$MIRL AND RETURN.      MURR 
*     EX FIELDS IN INPUT AND OUTPUT FILES ARE SET TO THEIR RESPECTIVE 
*     ENTRY POINTS.  ON ENTRY, SAVE THE ERROR STATUS, AND CALL DB$CDIS
*     TO CONVERT IT TO DISPLAY CODE.  INSERT THE CONVERTED ERROR NUMBER 
*     INTO APPROPRIATE MESSAGE, WRITE MESSAGE TO DAYFILE, AND ABORT 
*     RUN UNIT, AS ANY CRM ERROR ON INPUT OR OUTPUT IS FATAL. 
*#                                                                       MURR 
          ENTRY  DB$MRED                                                 MURR 
          ENTRY  DB$MWSA                                                 MURR 
          ENTRY  DB$MIRL                                                 MURR 
          ENTRY  DB$MIN 
          ENTRY  DB$MOUT
          ENTRY  DB$4FG 
          ENTRY  DB$MDND
          ENTRY  DB$MEOF                                                 JJ10247
          ENTRY  DB$NLIN                                                 CORTOPL
          ENTRY  DB$LNBR                                                 CORTOPL
          ENTRY  DB$ENDI
 DB$MRED  JP     *+400000B   READ NEW CARD, PRINT OLD                    MURR 
          SA3    FRSTIME     1ST CARD READ                               MURR 
          NZ   X3,NOTFRST    NO                                          MURR 
                                                                         MURR 
          MX6    1           YES, SET FLAG SO WE DONT                    MURR 
          LX6    1           COME THIS WAY AGAIN                         MURR 
          SA6    A3                                                      MURR 
          EQ   CONTRED             GO READ                               MURR 
                                                                         MURR 
 NOTFRST  SA3    DB$LNLF                                                 MURR 
          SA1    DB$MOUT
          ZR   X1,CONTRED    NO PRINTING                                 JJJ1107
          NZ   X3,ROOMLFT    ROOM ON PAGE                                MURR 
                                                                         MURR 
          RJ   DB$UPHD       PRINT HEADER                                MURR 
                                                                         MURR 
          PUT    OUTPUT,BLNKLIN,10,,,,,SQ  AND BLANK LINE                MURR 
          SA3    DB$LNLF                                                 MURR 
 ROOMLFT  SX6    X3-1        ADJUST LINES LEFT                           MURR 
          SA6    DB$LNLF                                                 MURR 
          SA3    DB$MIRL     GET CARD LENGTH                             MURR 
          SX3    X3+31       ADD LEADING INFO PLUS 1 FOR 1
          SA1    STRLINE     WE SUBTRACT IN SCAN ROUTINE                 MURR 
          PUT    OUTPUT,X1,X3,,,,,SQ  OUTPUT THE LINE                    MURR 
                                                                         MURR 
 CONTRED  GET    INPUT,DB$MWSA,90,,,,,SQ,C,Z  READ A RECORD              MURR 
          FETCH  INPUT,RL,X7       GET RECORD LENGTH                     MURR 
          SA7    DB$MIRL                                                 MURR 
          EQ     DB$MRED                                                 MURR 
                                                                         MURR 
DB$ENDI   JP     *+400000B
          SX6    1
          SA6    DB$MEOF     SET END-OF-INPUT FLAG IN SCANNER            MURR 
          SA3    BLNKLIN
          BX7    X3 
          SA7    NBRLINE
          SX6    10 
          SA6    DB$MIRL
          EQ     DB$ENDI
                                                                         MURR 
 DB$UEI   EQ     *+1S17 
          FETCH  INPUT,ES,X6
          SA6    ERRNO             STORE ERROR NUMBER 
          SX7    IMSG 
          SA7    MSG               STORE ADDRESS OF DAYFILE MSG 
          EQ   CONT                GO TO CONVERSION AND DAYFILE CODE
  
 DB$UEO   EQ     *+1S17 
          FETCH  OUTPUT,ES,X6 
          SA6    ERRNO
          SX7    OMSG 
          SA7    MSG               STORE ADDRESS OF DAYFILE MSG 
  
 CONT     SA1    CNVPAR            SET PARAMETER LIST FOR CONVERSION
          RJ   =XDB$COCT           CONVERT ERROR NUMBER TO DISPLAY
          SA5    MSG               RETRIEVE ADDRESS OF MSG
          SA2    X5+1              EXTRACT PART OF MSG TO INSERT ERR NO 
          MX0    18 
          BX6    X0*X6             MASK OFF TRAILING BLANKS 
          LX6    60-12             POSITION ERROR NUMBER
          LX0    60-12
          BX2    -X0*X2            REMOVE BLANKS FROM ERR MSG 
          BX6    X2+X6             INSERT ERROR NUMBER
          SA6    A2                RESTORE MESSAGE
          MESSAGE X5,,R            WRITE MSG TO DAYFILE 
          ABORT                    ABORT RUN UNIT 
  
 CNVPAR   CON    ERRNO,THREE
 ERRNO    DATA   0
 THREE    DATA   3
 MSG      DATA   0                 ADDRESS OF DAYFILE MESSAGE 
 OMSG     DIS    ,$  CRM ERROR    ON OUTPUT FILE$ 
 IMSG     DIS    ,$  CRM ERROR     ON INPUT FILE$ 
 DB$MIN   DATA   0           INPUT FILE LFN 
 DB$MOUT  DATA   0           OUTPUT FILE LFN
 DB$4FG   DATA   0
 DB$MDND  DATA   0
 DB$MEOF  DATA   0           FLAG INDICATING AN EOF DETECTED IF NON-0    JJ10247
 BLNKLIN  DATA   10H                                                     MURR 
STRLINE   CON    SPACER 
 DB$MIRL  DATA   0                                                       MURR 
 FRSTIME  DATA   0           EQ 0 NO CARDS READ, NQ 0 WE HAVE READ CARDS MURR 
SPACER    DATA   10H
 NBRLINE  DATA   10H         0                                           MURR 
          DATA   10H
 DB$MWSA  BSS    8                                                       MURR 
          DATA   10H                                                     MURR 
 LINENBR  DATA   0                                                       MURR 
 DB$NLIN  DATA   0           NEW SOURCE RECORD IN PROGRESS IN SCANNER    CORTOPL
DB$LNBR   EQU    NBRLINE
INPUT     FILE   LFN=INPUT,BFS=260,WSA=DB$MWSA,LT=UL,RT=Z,BT=C,MRL=90,DX
,=DB$ENDI,EX=DB$UEI 
  
OUTPUT    FILE   LFN=OUTPUT,BFS=67,WSA=HDR1,LT=UL,RT=Z,BT=C,MRL=137,EX=D
,B$UEO
          TITLE  DB$UCHD - CHANGE HEADER LINE                            MURR 
*#                                                                       MURR 
* *   DB$UCHD - CHANGE HEADER LINE               PATE  1                 MURR 
* *   J. JAN JANIK                               DATE  10/08/75          MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     TO CHANGE THE VARIABLE PART OF THE HEADER LINE                     MURR 
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     X1 = START OF NEW HEADER INFO. A1+1 = ADDR OF THE ADDR OF THE CELL MURR 
*     WHICH CONTAINS THE LENGTH OF THE INFO IN CHAR                      MURR 
                                                                         MURR 
* DC  EXIT CONDITIONS                                                    MURR 
                                                                         MURR 
*     VARIABLE PORTION OF HEADER IS CHANGED.                             MURR 
                                                                         MURR 
* DC  CALLING ROUTINES                                                   MURR 
*#                                                                       MURR 
          ENTRY  DB$UCHD                                                 MURR 
 DB$UCHD  JP     *+400000B                                               MURR 
          SA2    A1+1                                                    MURR 
          SA2    X2                                                      MURR 
          SB2    X2          B2 = NUMBER OF CHAR TO MOVE                 MURR 
          SB3    60                                                      MURR 
          GE   B3,B2,LENOK         JIF LENGTH LE 60 CHAR                 MURR 
                                                                         MURR 
          SB2    B3                ONLY MOVE 60                          MURR 
 LENOK    SB5    10                B5 = CHAR PER WORD                    MURR 
          SB1    1                                                       MURR 
          SB4    VARHD-1           B4 = START ADDR - 1                   MURR 
          SA2    X1                GET FIRST WORD                        MURR 
          SB6    B0                B6= CNT OF CHAR MOVED                 MURR 
 LOOP     BX6    X2                                                      MURR 
          SA6    B4+B1             STORE 10 CHAR                         MURR 
          SA2    A2+B1             GET POSSIBLE NEXT WORD                MURR 
          SB6    B6+B5             B6 = NUMBER MOVED                     MURR 
          SB4    A6                SAVE DEST ADDR                        MURR 
          GT   B2,B6,LOOP          MOVE TO MOVE                          MURR 
                                                                         MURR 
          SA2    BLNKLIN           NO, BLANK FILL                        MURR 
          BX6    X2                                                      MURR 
 LOOPB    BSS    0                                                       JJJ1110
          EQ   B3,B6,DB$UCHD       RETURN WHEN 60 CHAR MOVED             JJJ1110
                                                                         JJJ1110
          SA6    A6+B1                                                   JJJ1110
          SB6    B6+B5             B6 = NUMBER MOVED                     MURR 
          EQ   LOOPB         SEE IF 60 MOVED YET                         JJJ1110
          TITLE  DB$UCLF - CLOSE INPUT AND OUTPUT FILES                  MURR 
*#                                                                       MURR 
* *   DB$UCLF - CLOSE INPUT AND OUTPUT FILES     PAGE  1                 MURR 
* *   J. JAN JANIK                               DATE  10/07/75          MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     TO CLOSE INPUT AND OUTPUT FILES                                    MURR 
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     INPUT AND OUTPUT FILES ARE OPEN, FILESOP IS NON-ZERO.              MURR 
                                                                         MURR 
* DC  EXIT CONDITIONS                                                    MURR 
                                                                         MURR 
*     INPUT AND OUTPUT FILES ARE CLOSED AND FILESOP IS SET TO ZERO.      MURR 
                                                                         MURR 
* DC  CALLING ROUTINES                                                   MURR 
                                                                         MURR 
*     DB$MABT - ABORT MODULE                                             MURR 
*     DBMSTRD - MAIN PROGRAM                                             MURR 
                                                                         MURR 
* DC  CALLED ROUTINES                                                    MURR 
*     CRM ROUTINE TO CLOSE A FILE.                                       MURR 
*#                                                                       MURR 
          ENTRY  DB$UCLF                                                 MURR 
 DB$UCLF  JP     *+400000B                                               MURR 
          SA1    FILESOP                                                 MURR 
          ZR   X1,DB$UCLF    FILES CLOSED, RETURN.                       MURR 
                                                                         MURR 
          CLOSEM INPUT,N,,SQ                                             MURR 
          CLOSEM OUTPUT,N,,SQ                                            MURR 
          MX6    0                                                       MURR 
          SA6    FILESOP     INDICATE FILES CLOSED.                      MURR 
          EQ   DB$UCLF                                                   MURR 
          TITLE  DB$UENL - ENSURE N  LINES ON A PAGE                     MURR 
*#                                                                       MURR 
* *   DB$UENL - ENSURE N LINES ON THE PAGE       PAGE  1                 MURR 
* *   J. JAN JANIK                               DATE  10/16/75          MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     TO ENSURE THAT THERE ARE AT LEAST N LINES LEFT ON THE PAGE         MURR 
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     X1 = ADDR OF THE WORD CONTAINING NUMBER OF LINES WANTED            MURR 
                                                                         MURR 
* DC  EXIT CONDITIONS                                                    MURR 
                                                                         MURR 
*     IF NECCESSARY, A NEW PAGE IS STARTED.  IF LINES WANTED IS GREATER  MURR 
*     THAN 58, A PAGE EJECT IS FORCED.                                   MURR 
                                                                         MURR 
* DC  CALLING ROUTINES                                                   MURR 
                                                                         MURR 
* DC  CALLED ROUTINES                                                    MURR 
                                                                         MURR 
*     DB$UPHD - TO PRINT HEADER IF LINES WANTED GR LINES LEFT            MURR 
*#                                                                       MURR 
          ENTRY  DB$UENL                                                 MURR 
 DB$UENL  JP     *+400000B                                               MURR 
          SA1    X1          X1 = LINES NEEDED                           MURR 
          SA2    DB$LNLF                                                 MURR 
          IX1    X2-X1                                                   MURR 
          PL   X1,DB$UENL    LINES NEEDED LE LINES LEFT, RETURN          MURR 
                                                                         MURR 
-         RJ   DB$UPHD       NEW PAGE REQUIRED                           MURR 
                                                                         MURR 
          EQ   DB$UENL       RETURN                                      MURR 
          TITLE  DB$UOPF - OPEN INPUT AND OUTPUT FILES                   MURR 
*#                                                                       MURR 
* *   DB$UOPF - OPEN INPUT AND OUTPUT FILES      PAGE 1                  MURR 
* *   J. JAN JANIK                               DATE 10/07/75           MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     TO OPEN THE INPUT AND OUTPUT FILES                                 MURR 
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     DB$MIN = LFN OF INPUT FILE, LEFT JUSTIFIED, ZERO-FILLED.           JJJ1223
*     DB$MOUT = LFN OF OUTPUT FILE, LEFT JUSTIFIED, ZERO-FILLED.         JJJ1223
                                                                         MURR 
* DC  EXIT CONDITIONS                                                    MURR 
                                                                         MURR 
*     FILESOP IS SET NON-ZERO TO PREVENT REDUNDANT OPENS                 MURR 
*     INPUT FILE IS OPENED.                                              MURR 
*     OUTPUT FILE IS OPENED.                                             MURR 
*     LINESLFT = 60.                                                     MURR 
*     DB$JDTE - CONTAINS TODAYS JULIAN DATE 
                                                                         MURR 
* DC  CALLING ROUTINES                                                   MURR 
                                                                         MURR 
*     DB$MABT - ABORT MODULE.  TO ENSURE OUTPUT FILE IS OPEN.            MURR 
*     DBMSTRD - MAIN PROGRAM.                                            MURR 
                                                                         MURR 
* DC  CALLED  ROUTINES                                                   MURR 
                                                                         MURR 
*     CRM ROUTINE TO OPEN A FILE                                         MURR 
                                                                         MURR 
* DC  NON-LOCAL VARIABLES                                                MURR 
                                                                         MURR 
*     INFILE, OUTFILE                                                    MURR 
                                                                         MURR 
* DC  DESCRIPTION                                                        MURR 
                                                                         MURR 
*     DATE AND CLOCK MACROS ARE USED TO PUT CURRENT DATE AND TIME IN     MURR 
*     HEADER. JDATE MACRO IS USED TO GET TODAYS JULIAN DATE AND STORE 
*     IT INTO DB$JDTE. LFNS DB$MIN AND DB$MOUT ARE MOVED TO THE INPUT 
*     AND OUTPUT FITS. BOTH FILES ARE OPENED WITHOUT REWIND. LINESLFT 
*     IS SET TO 60 AND FILESOP IS SET NON-ZERO. 
* 
*#                                                                       MURR 
          ENTRY  DB$LNLF                                                 MURR 
          ENTRY  DB$UOPF                                                 MURR 
          ENTRY  DB$JDTE
  
 DB$UOPF  JP     *+400000B                                               MURR 
          SA1    FILESOP                                                 MURR 
          NZ   X1,DB$UOPF    FILES ALREADY OPEN, RETURN WITH NO ERROR    MURR 
                                                                         MURR 
          DATE   TDATE       GET TODAYS DATE AND                         MURR 
          CLOCK  TTIME       TIME AND PUT IN HEADER                      MURR 
          JDATE  DB$JDTE     GET TODAYS JULIAN DATE 
          SA1    DB$MIN      GET REAL INPUT LFN 
          SA2    DB$MOUT     GET REAL OUTPUT LFN
          STORE  INPUT,LFN=X1      OVERWRITE OLD                         MURR 
          ZR   X2,OPENFLS    OUTPUT SUPPRESSED EXCEPT FOR ERROR MSGS.    JJJ1107
                                                                         JJJ1107
          STORE  OUTPUT,LFN=X2     FILE NAME                             MURR 
                                                                         MURR 
 OPENFLS  BSS    0
          OPENM  INPUT,INPUT,N,SQ                                        MURR 
          OPENM  OUTPUT,OUTPUT,N,SQ                                      MURR 
                                                                         MURR 
          SX6    60                                                      MURR 
          SA6    DB$LNLF     SET LINES LEFT TO 60                        MURR 
          SA6    FILESOP     SET FLAG INDICATING FILES ARE OPEN          MURR 
          EQ   DB$UOPF                                                   MURR 
                                                                         MURR 
 FILESOP  DATA   0           FILES ALREADY OPEN FLAG, NQ 0 FILES OPEN    MURR 
 DB$JDTE  DATA   0           TODAYS JULIAN DATE 
 DB$LNLF  DATA   0           NUMBER OF LINES LEFT ON THE PAGE            MURR 
          TITLE  DB$UPCH
*#
* *   DB$UPCH - CREATES THE 4.0 OVL HEADER       PAGE  1
* *   M D SAXE                                   DATE  05/16/76 
* DC  PURPOSE 
  
*     TO CREATE THE MASTER DIRECTORY CONTENTS REPORT PAGE HEADER
* DC  ENTRY CONDITIONS
  
*     NONE
  
* DC  EXIT CONDITIONS 
  
*     PAGE HEADER HAS BEEN CREATED CONTAINING THE LFN OF THE NEW MD,
*     TIME AND DATE.
  
* DC  CALLING ROUTINES
  
*     DB$M40M - CONTROLLING ROUTINE FOR THE CONTENTS REPORT 
  
* DC  CALLED ROUTINES 
  
*     DB$MDND - ITEM CONTAINING THE LFN OF THE NEW MD.
  
* DC  DESCRPTION
  
*     STORE THE LFN OF THE NEW MD INTO THE FIRST WORD OF THE PAGE HDR.
  
*#
          ENTRY  DB$UPCH
 DB$UPCH  JP     *+400000B
          SA1    =XDB$MDND
          SA2    HDR4 
          BX6    X2+X1
          SA6    A2 
          SA2    TDATE
          BX7    X2 
          SA3    TTIME
          BX6    X3 
          SA7    H4DATE 
          SA6    H4TIME 
          SX7    0
          SA7    PAGENUM
          EQ     DB$UPCH
          TITLE  DB$UPHD - PRINT HEADER LINE                             MURR 
*#                                                                       MURR 
* *   DB$UPHD - PRINT HEADER LINE                PAGE  1                 MURR 
* *   J. JAN JANIK                               DATE  10/07/75          MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     TO PRINT HEADER LINE AT TOP OF FORM, ADJUST PAGE NUMBER AND ADJUST MURR 
*     DB$LNLF.  PRINT BLANK LINE AFTER HEADER.                           JJJ1223
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     OUTPUT FILE IS OPEN, PAGENUM = LAST PAGE NUMBER (BINARY).          MURR 
                                                                         MURR 
* DC  EXIT CONDITIONS                                                    MURR 
                                                                         MURR 
*     DB$LNLF = 58, PAGENUM HAS BEEN BUMPED BY 1, HEADER HAS BEEN        JJJ1223
*     PRINTED.                                                           MURR 
                                                                         MURR 
* DC  CALLING ROUTINES                                                   MURR 
                                                                         MURR 
*     DB$MRED - READ INPUT DECK AND LIST IT                              MURR 
*     DB$UPRT - PRINT A STRING                                           MURR 
                                                                         MURR 
* DC  CALLED ROUTINES                                                    MURR 
                                                                         MURR 
*     DB$CDIS - CONVERT INTEGER TO DISPLAY CODE                          MURR 
*     DB$UPTL - CALLED TO PRINT THE LINE                                 MURR 
*#                                                                       MURR 
          ENTRY  DB$UPHD                                                 MURR 
          ENTRY  DB$VRDT
 DB$UPHD  JP     *+400000B                                               MURR 
          SB1    1                                                       MURR 
          SA1    PAGENUM     GET LAST PAGE NUMBER                        MURR 
          SX1    X1+B1       AND BUMP BY ONE                             MURR 
          BX6    X1                                                      MURR 
          SA6    PAGENUM                                                 MURR 
          SX7    A1                                                      MURR 
          SA7    CDISPAR     SAVE ADDR OF NUM TO BE CONVERTED            MURR 
          SA1    A7                                                      JJJ1110
          RJ   =XDB$CDEB     CONVERT TO DECIMAL DISPLAY - LEADING BLANKS
                                                                         MURR 
          SA5    =XDB$4FG    CHECK IF THE CONTENTS REPORT HEADER IS TO
          NZ     X5,PRT4HDR  BE PRINTED 
          LX6    24          POSITION AND STORE                          MURR 
          SA6    PNUM        IN HEADER LINE                              MURR 
          SA1    HLIN                                                    MURR 
          RJ   DB$UPTL       OUTPUT HEADER                               MURR 
                                                                         MURR 
          SA1    BLIN                                                    MURR 
          RJ   DB$UPTL       OUTPUT A BLANK LINE                         MURR 
                                                                         MURR 
          SX6    58                                                      MURR 
          SA6    DB$LNLF                                                 MURR 
          EQ   DB$UPHD                                                   MURR 
 BLIN     CON    BLNKLIN,TEN       PARAMETER LIST FOR PUTTING BLANK      MURR 
*                                  LINE ON OUTPUT                        MURR 
                                                                         MURR 
                                                                         MURR 
 HLIN     CON    HDR1,HDLEN  PARAMETER LIST FOR HEADER, USED BY DB$UPHD  MURR 
*                            TO PRINT HEADER VIA DB$UPTL                 MURR 
 HDLEN    DATA   130         LENGTH OF HEADER LINE                       MURR 
 HDR1     DATA   10H1                                                    MURR 
 VARHD    DATA   20H                     1ST 3RD                         MURR 
          DATA   20H                     2ND 3RD OF VARIABLE PART        MURR 
          DATA   20H                     3RD 3RD                         MURR 
 PROGNAM  DATA   10H                                                     MURR 
 DB$VRDT  VFD    18/3H"VERS",6/1L(,30/5H"JDATE",6/1L) 
 TDATE    DATA   0                                                       MURR 
 TTIME    DATA   0                                                       MURR 
          DATA   10H      PAGE                                           MURR 
 PNUM     DATA   10H     0                                               JJJ1110
          DATA   0                                                       MURR 
 PAGENUM  DATA   0
                                                                         MURR 
*     PARAMETER LIST FOR CALL TO DB$CDIS                                 MURR 
 CDISPAR  DATA   0                                                       MURR 
          CON    TEN         10 CHARACTERS
                                                                         MURR 
 TEN      DATA   10                                                      MURR 
PRT4HDR   SA1    PLOGNM 
          BX7    X6-X1
          SA7    P4NUM
          SA1    H4LN 
          RJ     DB$UPTL     OUTPUT HEADER
          SA1    BLIN 
          RJ     DB$UPTL     OUTPUT A BLANK LINE
          SX6    58 
          SA6    DB$LNLF     RESET LINE COUNTER 
          EQ     DB$UPHD
 H4LN     CON    HDR4,H4LEN  PARAMETER FOR REPORT HEADER USED BY DB$UPHD
 H4LEN    DATA   50 
HDR4      DATA   3L1
 H4DATE   DATA   10H
 H4TIME   DATA   10H
          DATA   10H
P4NUM     DATA   0
PLOGNM    CON    4LPAGE&4L
          TITLE  DB$UPTL - PUT THE LINE                                  MURR 
*#                                                                       MURR 
* *   DB$UPTL - PUT THE LINE                     PAGE  1                 MURR 
* *   J. JAN JANIK                               DATE  10/08/75          MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     TO PUT A LINE ON OUTPUT FILE.                                      MURR 
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     OUTPUT FILE IS OPENED, X1 = START OF STRING, A1+1 = ADDRESS OF THE MURR 
*     ADDRESS OF THE CELL WHICH CONTAINS THE LENGTH OF THE STRING.       MURR 
                                                                         MURR 
* DC  CALLING ROUTINES                                                   MURR 
                                                                         MURR 
*     DB$UPHD - PRINT HEADLINE                                           MURR 
*     DB$UPRT - PRINT A STRING                                           MURR 
                                                                         MURR 
* DC  CALLED ROUTINES                                                    MURR 
                                                                         MURR 
*     PUT.SQ - TO PUT THE STRING ON THE OUTPUT FILE                      MURR 
*#                                                                       MURR 
          ENTRY  DB$UPTL                                                 MURR 
 DB$UPTL  JP     *+400000B                                               MURR 
          SA2    A1+1                                                    MURR 
          SA2    X2          GET LENGTH OF LINE                          MURR 
          PUT    OUTPUT,X1,X2,,,,,SQ  OUTPUT THE LINE                    MURR 
          EQ   DB$UPTL                                                   MURR 
          TITLE  DB$USPN - SET PROGRAM NAME IN HEADER                    MURR 
*#                                                                       MURR 
* *   DB$USPN - SET PROGRAM NAME IN HEADER       PAGE  1                 MURR 
* *   J. JAN JANIK                               DATE  10/08/75          MURR 
* DC  PURPOSE                                                            MURR 
                                                                         MURR 
*     TO SET THE PROGRAM NAME IN THE HEADER LINE.                        MURR 
                                                                         MURR 
* DC  ENTRY CONDITIONS                                                   MURR 
                                                                         MURR 
*     X1 = ADDR OF THE WORD TO BE PLACED IN THE PROG NAME FIELD          MURR 
                                                                         MURR 
* DC  EXIT CONDITIONS                                                    MURR 
                                                                         MURR 
*     PROG NAME IS SET                                                   MURR 
*#                                                                       MURR 
          ENTRY  DB$USPN                                                 MURR 
 DB$USPN  JP     *+400000B                                               MURR 
          SA1    X1                                                      MURR 
          BX6    X1                                                      MURR 
          SA6    PROGNAM                                                 MURR 
          EQ   DB$USPN                                                   MURR 
          END                                                            MURR 
