*DECK C$DSPDN 
          IDENT  C$DSPDN
          ENTRY  C.DSPDN
          COMMENT  DISPLAY CONTENTS OF DATA NAME IN OCTAL 
          TITLE  C$DSPDN - DISPLAY A DATA-NAME IN OCTAL 
* 
*         C.DSPDN IS CALLED TO DISPLAY THE CONTENTS OF A DATA NAME IN 
*                 OCTAL.  ASSEMBLED ONLY IF COMPILER IS IN TEST MODE. 
*                 CALLED BY ENTER QUOTEC.DSPDNQUOTE USING ... WITH A
*                 LIST OF THE NAMES TO BE DISPLAYED.  THE DISPLAY IS
*                 $$LLLL AAA,BBB,... WHERE LLLL IS THE LINE NUMBER
*                 AND AAA BBB ETC ARE THE CONTENTS OF THE DATA NAME.
*                 THE BCD EQUIVALENTS ARE ON THE NEXT LINE
* 
 C.DSPDN  DATA   0
          SA2    C.DSPDN
          AX2    30 
          SA2    X2-1        GET LINE NUMBER
          MX1    30 
          BX1    -X1*X2 
          SA2    DSPCALL     GET CALL TO DISPLAY
          MX6    30 
          BX6    X6*X2       MASK OFF UPPER 
          BX6    X6+X1       ADD IN LINE NUMBER 
          SA6    A2          SET FOR COBOL TRACE IN CASE OF ERROR 
          MX0    4*6
          SX7    A1 
          SA7    =SSAVEPL    SAVE PARAMETER LIST
          RJ     =XC.R1S06   CONVERT TO DECIMAL 
          SA2    =6H $$$L=
          MX5    36 
          BX7    -X5*X1      LINE NUMBER IN DISP CODE 
          BX2    X5*X2       CLEAR MESSAGE
          BX7    X2+X7
          SA7    MSLNA       PUT LINE NBR IN MESSAGE
          SB3    12          TOTAL CHAR COUNT SO FAR
          SB4    42          BIT POSITION OF FIRST CHAR IN PR LINE
          SB5    B1          WORD OFFSET FOR FIRST ONE
          MX0    6
          LX0    48          POSITION MASK   FOR FIRST CHAR 
          SA1    SAVEPL 
          SX7    X1+B1
          SA7    A1 
          SA1    X1          GET NEXT PARAMETER 
          ZR     X1,DONED1   JUMP IF DONE 
 GETPAR1  BSS    0
          BX3    X1 
          AX3    18          POSITION USAGE 
          MX2    42 
          BX4    X2*X1
          NZ     X4,NTC2A    JUMP IF NOT COMP-2 
          MX6    0
          SB6    10          EFFECTIVE SIZE 
          EQ     PR11A
 NTC2A    BSS    0
          MX2    57 
          BX4    -X2*X3      USAGE
          SX5    X4-4 
          NZ     X5,NTC1A    JUMP IF NOT COMP-1 
          AX3    36-18       POSITION SIZE
          MX2    51 
          BX4    -X2*X3      GET SIZE 
          SX4    X4-15
          SX6    B0          BCP OF 0 
          SB6    10 
          NG     X4,PR11A    JUMP IF SINGLE PRECISION 
          SB6    20 
          EQ     PR11A       JUMP IF DP 
 NTC1A    BSS    0
          AX3    3           CLASS
          BX4    -X2*X3 
          SX4    X4-2 
          MX2    42          ALLOW 18 BITS FOR SIZE 
          NZ     X4,NTNUM    JUMP IF NOT NUMERIC
          MX2    51          9 BITS 
 NTNUM    BSS    0
          AX3    9
          MX4    54 
          BX6    -X4*X3      GET BCP
          AX3    6           POSITION SIZE
          BX4    -X2*X3      SIZE 
          SB6    X4 
 PR11A    BSS    0
          SX2    6
          IX2    X2*X6       GIVES 6*BCP
          SX7    54 
          IX7    X7-X2       GIVES SHIFT FACTOR 
          SB7    X7 
          SA1    X1          GET ITEM 
 PRCLPA   BSS    0
          MX7    54 
          SA4    MSLNB+B5 
          AX2    X1,B7       POSITION CHAR
          BX2    -X7*X2 
          LX3    X2,B4       SHIFT FOR LINE 2 
          BX4    -X0*X4 
          BX6    X3+X4
          SA6    A4          PUT AWAY CHAR
          MX7    57 
          BX4    -X7*X2      LOWER PART 
          AX2    3
          SX2    X2+33B      BIAS 
          RJ     STLN1       PUT AWAY UPPER 
          SX2    X4+33B 
          RJ     STLN1       LOWER
          SB6    B6-B1
          ZR     B6,DONEA1   JUMP IF DONE WITH THIS ONE 
          SB7    B7-6 
          PL     B7,PRCLPA   JUMP IF NOT INTO NEXT WORD 
          SA1    A1+B1       GET NEXT ONE 
          SB7    54 
          EQ     PRCLPA 
 DONEA1   BSS    0
          SA1    SAVEPL 
          SX7    X1+B1
          SA7    A1 
          SA1    X1          GET NEXT PARAMETER 
          ZR     X1,DONED1   JUMP IF DONE 
          SX2    56B         COMMA
          RJ     STLN1
          SX2    55B         BLANK
          RJ     STLN1
          EQ     GETPAR1
 STLN1    DATA   0
          SA5    MSLNA+B5 
          LX3    X2,B4       POSITION 
          BX6    -X0*X5 
          BX6    X3+X6
          SA6    A5          PUT AWAY 
          LX0    54          RIGHT SHIFT MASK 
          SB3    B3+B1       BUMP CHAR COUNT
          SX5    B3-132 
          PL     X5,PRLNSS   JUMP IF LINE FULL
          SB4    B4-6 
          PL     B4,STLN1    EXIT IF OK 
          SB4    54 
          SB5    B5+B1       NEXT WORD
          EQ     STLN1
 PRLNSS   BSS    0
          SX6    B6 
          SX5    B7 
          LX5    18 
          LX6    36 
          SX7    A1 
          BX7    X7+X6
          BX7    X7+X5
          SA7    SAVBS
          BX6    X4 
          SA6    A7+B1
          SB5    MSLNA       FWA OF MSG 
          RJ     DISPLAYL    WRITE THE FIRST LINE 
          SB5    MSLNB       FWA OF MSG 
          RJ     DISPLAYL    WRITE THE SECOND LINE
          SA2    =XC.BLANK
          SB4    13 
          BX6    X2 
 PRLNCLP  BSS    0           BLANK OUT AREA 
          SA6    MSLNB+B4 
          SB4    B4-B1
          NE     B4,B0,PRLNCLP
          SA3    SAVBS
          SA1    X3 
          AX3    18 
          SB7    X3 
          AX3    18 
          SB6    X3 
          SA4    A3+B1
          SB3    12          SET 12 CHARS PRINTED 
          SB4    42          SET FOR FIRST CHAR 
          MX0    6
          LX0    48          RESET MASK 
          SB5    B1 
          SA5    =4H $$$
          BX6    X5 
          SA6    MSLNA
          EQ     STLN1
 DONED1   BSS    0
          SX6    B4-42
          NZ     X6,FILLOT   JUMP IF LAST LINE NOT PRINTED
          NE     B5,B1,FILLOT      SAME 
          SA2    MSLNA
          SA3    =4H $$$
          BX2    X2-X3
          ZR     X2,C.DSPDN  JUMP IF DONE 
 FILLOT   BSS    0
          SX2    1R 
          RJ     STLN1       FILL OUT WITH BLANKS 
          EQ     DONED1 
 DISPLAYL DATA   0           DISPLAY A LINE - FWA IN B5 
          SA1    =XC.OUTPT   POINT TO OUTPUT FILE 
          SB6    B0          BCP OF 0 
          SB7    132         SIZE OF LINE 
          SB4    B0          NOT NO ADVANCING 
 DSPCALL  RJ     =XC.DSPLY   CALL DISPLAY TO PRINT LINE 
          EQ     DISPLAYL    EXIT 
 SAVBS    BSSZ   4
 MSLNA    DATA   50H
          BSSZ   9
 MSLNB    DATA   50H
          DATA   50H
          DATA   40H
          END 
