*DECK NS$DFT
USETEXT CYB$NS
PROC NS$DFT((TEXTFWA),(N));  # DAYFILE TEXT IN OCTAL DISPLAY           #
  
# TITLE NS$DFT - DAYFILE TEXT IN OCTAL DISPLAY CODE.                   #
  
      BEGIN    # NS$DFT # 
# 
**    NS$DFT - DAYFILE TEXT IN OCTAL DISPLAY. 
* 
*     J.C. LEE    1981
* 
*     THIS ROUTINE CONVERTS OCTAL NUMBER TO DISPLAY CODE. 
* 
*     PROC NS$DFT((TEXTFWA),(N))
* 
*     ENTRY:  
*       TEXTFWA = FWA OF TEXT AREA. 
*       N = NO OF TEXT WORDS TO BE CONVERTED. 
* 
*     EXIT: 
*       NONE. 
* 
*     METHOD: 
*       USE OCTAL TABLE TO CONVERT "N" NUMBER OF WORDS FROM 
*       TEXT AREA TO OCTAL DISPLAY CODE.
* 
# 
  
      ITEM TEXTFWA    U;     # FWA OF TEXT AREA TO BE DISPLAYED        #
      ITEM N          U;     # NO OF TEXT WORDS TO BE DISPLAYED        #
  
      $BEGIN
      XREF
        BEGIN 
        PROC NS$DBG;         # TRACE PROCEDURE CALL                    #
        END 
      $END
  
      XREF
        BEGIN 
        PROC MESSAGE;        # ISSUE DAYFILE MESSAGE                   #
        END 
  
      ARRAY DISTEXT [0:0] S(3); 
        BEGIN                # TEXT IN DISPLAY CODE                    #
        ITEM DFMSGTEXT  C(0,0,20);
        ITEM DFMSGEND   U(2,0,60) = [0];
        END 
  
      BASED ARRAY OCTTEXT [0:0] S(1); 
        BEGIN                # TEXT IN OCTAL DIGITS                    #
        ITEM OCTWORD    U(0,0,60);
        END 
  
      ITEM I           I;    # LOOP INDUCTION VARIABLE FOR WORD COUNT  #
      ITEM J           I;    # LOOP INDUCTION VARIABLE FOR CHAR CNT    #
      ITEM K           U;    # TEMPORARY VARIABLE                      #
      ITEM OCTCTAB     C(8) = "01234567"; 
      ITEM OCTNUM      U;    # OCTAL NUMBER                            #
  
CONTROL EJECT;
  
      $BEGIN
      NS$DBG("DFT");         # TRACE CALL                              #
      $END
  
      FOR I = 0 STEP 1 UNTIL (N - 1)
      DO                     # DISPLAY CONTENTS OF TEXT AREA           #
        BEGIN 
        P<OCTTEXT> = TEXTFWA + I; # ADDRESS OF WORD TO DISPLAY         #
  
        K = WL/3 - 1; 
        FOR J = 0 STEP 1 UNTIL K
        DO                   # CONVERT OCTAL NUMBERS TO DISPLAY CODE   #
          BEGIN 
          OCTNUM = B<J*3,3>OCTWORD[0];
          C<J,1>DFMSGTEXT[0] = C<OCTNUM>OCTCTAB;
          END 
  
        MESSAGE(DISTEXT,3);  # SEND MESSAGE TO LOCAL DAYFILE           #
  
        END 
  
      RETURN; 
      END   # NS$DFT #
      TERM
