COMDDIS 
COMMON
          CTEXT  COMDDIS - DISPLAY SUBROUTINES. 
 COMDDIS  SPACE  4
          QUAL   COMDDIS
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          LIST   F
 COMDDIS  SPACE  4
***       COMDDIS - DISPLAY SUBROUTINES.
*         G. R. MANSFIELD.  70/09/13. 
 COMDDIS  SPACE  4
***              COMDDIS CONTAINS SUBROUTINES USED BY DSD AND MAY BE
*         USED BY ANY OTHER DISPLAY PROGRAM.
* 
*         IF TAG *N2Z$* IS DEFINED, SUBROUTINE *D2Z* WILL 
*         NOT BE ASSEMBLED. 
 COMDDIS  SPACE  4
***       ASSUMED.
* 
* 
*         PRESENCE OF COMMON DECK *COMPMAC*.
*         BASE = MIXED. 
*         SST 
*         CH = DISPLAY CHANNEL. 
*         COORDINATES SELECTED. 
*         CHANNEL ACTIVE. 
 DWD      SPACE  4
***       DWD - DISPLAY WORD. 
* 
*         ENTRY  (CM - CM+4) = WORD.
  
  
 DWD1     LDD    CM 
 DWD2     OAN    CH+40
          LDD    CM+1 
          SBD    XC 
          MJN    DWD3        IF DISPLAYABLE DATA
          LPN    77          DISPLAY LOWER 6 BITS ONLY
          UJN    DWD4        DISPLAY BYTE 
  
 DWD9     LDD    CM+4 
 DWD10    OAN    CH+40
  
 DWD      SUBR               ENTRY/EXIT 
          LDD    CM 
          SBD    XC 
          MJN    DWD1        IF DISPLAYABLE DATA
          LPN    77          DISPLAY LOWER 6 BITS ONLY
          UJN    DWD2        DISPLAY BYTE 
  
 DWD3     LDD    CM+1 
 DWD4     OAN    CH+40
          LDD    CM+2 
          SBD    XC 
          MJN    DWD5        IF DISPLAYABLE DATA
          LPN    77          DISPLAY LOWER 6 BITS ONLY
          UJN    DWD6        DISPLAY BYTE 
  
 DWD5     LDD    CM+2 
 DWD6     OAN    CH+40
          LDD    CM+3 
          SBD    XC 
          MJN    DWD7        IF DISPLAYABLE DATA
          LPN    77          DISPLAY LOWER 6 BITS ONLY
          UJN    DWD8        DISPLAY BYTE 
  
 DWD7     LDD    CM+3 
 DWD8     OAN    CH+40
          LDD    CM+4 
          SBD    XC 
          MJN    DWD9        IF DISPLAYABLE DATA
          LPN    77          DISPLAY LOWER 6 BITS ONLY
          UJN    DWD10       DISPLAY BYTE 
 D2D      SPACE 4 
***       D2D - DISPLAY 2 DIGITS. 
* 
*         ENTRY  (A) = DIGITS RIGHT ADJUSTED. 
* 
*         USES   T0.
  
  
 D2D      SUBR               ENTRY/EXIT 
          LPN    77          UNPACK 
          STD    T0 
          SHN    3
          LMD    T0 
          SCN    70 
          ADC    2R00 
          OAN    CH+40
          UJN    D2DX        RETURN 
 D2Z      SPACE  4
 .A       IF     -DEF,N2Z$
***       D2Z - DISPLAY 2 DIGITS WITH 1ST 0 SUPPRESSED. 
* 
*         ENTRY  (A) = DIGITS RIGHT ADJUSTED. 
*                (D2ZA) = 2RN   WHERE N IS THE CHARACTER TO BE
*                         DISPLAYED FOLLOWING THE DIGITS. 
* 
*         EXIT   (D2ZA) IS UNCHANGED. 
* 
*         USES   T0.
* 
*         CALLS  D2S. 
  
  
 D2Z1     RJM    D2S         DISPLAY 2 DIGITS 
  
 D2Z      SUBR               ENTRY/EXIT 
          NJN    D2Z1        IF .NE. 0
          LDN    1R0         DISPLAY 1 DIGIT
          OAN    CH+40       DISPLAY DIGITS 
          LDC    2R.         DISPLAY *. * 
 D2ZA     EQU    *-1
          OAN    CH+40
          UJN    D2ZX        RETURN 
 .A       ENDIF 
 D4D      SPACE 4 
***       D4D - DISPLAY 4 DIGITS. 
* 
*         ENTRY  (A) = DIGITS RIGHT ADJUSTED. 
* 
*         USES   T0, T1.
  
  
 D4D      SUBR               ENTRY/EXIT 
          SHN    14          UNPACK DIGITS
          STD    T0 
          SHN    -14
          STD    T1 
          LDD    T0          DISPLAY 2 DIGITS 
          LPN    77 
          STD    T0 
          SHN    3
          LMD    T0 
          SCN    70 
          ADC    2R00 
          OAN    CH+40
          LDD    T1          DISPLAY 2 DIGITS 
          SHN    3
          LMD    T1 
          SCN    70 
          ADC    2R00 
          OAN    CH+40
          UJN    D4DX        RETURN 
 D4S      SPACE  4
***       D4S - DISPLAY 4 DIGITS WITH LEADING ZERO SUPPRESSION. 
* 
*         ENTRY  (A) = DIGITS RIGHT JUSTIFIED.
*                (D4SA) = 0 IF TO DISABLE OUTPUT OF FINAL *. *. 
* 
*         EXIT   (D4SA) = SAME AS ON ENTRY. 
* 
*         USES   T1.
  
  
 D4S      SUBR               ENTRY/EXIT 
          STD    T1          SAVE DIGITS
          SHN    -6 
          ZJN    D4S2        IF FIRST TWO DIGITS ARE ZERO 
          SHN    -3 
          ZJN    D4S1        IF FIRST DIGIT IS ZERO 
          LPN    7
          ADN    1R0
          SHN    14 
 D4S1     ADD    T1 
          SHN    -6 
          SCN    70 
          ADN    1R0
 D4S2     OAN    CH+40
          LDD    T1          DIGITS 0, 1
          ZJN    D4S4        IF ALL FOUR DIGITS ARE ZERO
          SHN    -3 
          ZJN    D4S3        IF FIRST THREE DIGITS ARE ZERO 
          LPN    7
          ADN    1R0
          SHN    6
 D4S3     LMD    T1 
          SCN    7
          LMD    T1 
 D4S4     ADN    1R0
          OAN    CH+40
          LDC    2R.         DISPLAY *.*
 D4SB     EQU    *-1         REPLACE *. * 
 D4SA     OAN    CH+40
*         PSN                (TO DISABLE *. *)
          UJN    D4SX        RETURN 
 D5F      SPACE  4
***       D5F - DISPLAY 5 GROUPS OF 4 DIGITS. 
* 
*         ENTRY  (CM - CM+4) = CONTENTS OF CM WORD. 
* 
*         CALLS  D4D, DWD.
  
  
 D5F      SUBR               ENTRY/EXIT 
          LDC    6120        OUTPUT X-COORDINATE
          OAN    CH+40
          LDD    CM          DISPLAY BYTE 0 
          RJM    D4D
          LDC    6170        OUTPUT X-COORDINATE
          OAN    CH+40
          LDD    CM+1        DISPLAY BYTE 1 
          RJM    D4D
          LDC    6240        OUTPUT X-COORDINATE
          OAN    CH+40
          LDD    CM+2        DISPLAY BYTE 2 
          RJM    D4D
          LDC    6310        OUTPUT X-COORDINATE
          OAN    CH+40
          LDD    CM+3        DISPLAY BYTE 3 
          RJM    D4D
          LDC    6360        OUTPUT X-COORDINATE
          OAN    CH+40
          LDD    CM+4        DISPLAY BYTE 4 
          RJM    D4D
          LDN    0           OUTPUT ZERO BYTE 
          OAN    CH+40
          RJM    DWD         DISPLAY WORD 
          LJM    D5FX        RETURN 
          SPACE  4
          QUAL   *
 DWD      EQU    /COMDDIS/DWD 
 D2D      EQU    /COMDDIS/D2D 
 .B       IF     -DEF,N2Z$
 D2Z      EQU    /COMDDIS/D2Z 
 D2ZA     EQU    /COMDDIS/D2ZA
 .B       ENDIF 
 D4D      EQU    /COMDDIS/D4D 
 D4S      EQU    /COMDDIS/D4S 
 D4SA     EQU    /COMDDIS/D4SA
 D4SB     EQU    /COMDDIS/D4SB
 D5F      EQU    /COMDDIS/D5F 
          LIST   *
          ENDX
