*COMDECK  COMCWTH 
          CTEXT  COMCWTH - WRITE CODED LINE, -H- FORMAT.
 WTH      SPACE  4
          IF     -DEF,QUAL$,1 
          QUAL   COMCWTH
          BASE   D
*         COMMENT COPYRIGHT CONTROL DATA CORP. 1970.
 WTH      SPACE  4
***       WTH - WRITE CODED LINE, -H- FORMAT. 
*         G. R. MANSFIELD.  70/10/09. 
 WTH      SPACE  4
***              WTH TRANSFERS 1 CODED LINE IN -H- FORMAT FROM A
*         WORKING BUFFER TO A CIO BUFFER.  TRAILING SPACES ARE DELETED. 
* 
*         ENTRY  (X2) = ADDRESS OF FET FOR FILE.
*                (B6) = FWA WORKING BUFFER. 
*                (B7) = WORD COUNT OF WORKING BUFFER. 
*                IF (B7) = 0, NO TRANSFER WILL BE PERFORMED.
* 
*         EXIT   (X2) = ADDRESS OF FET FOR FILE.
* 
*         USES   X - 1, 2, 3, 4, 6, 7.
*                B - 1, 2, 3, 4, 5, 6, 7. 
*                A - 1, 2, 3, 4, 6, 7.
* 
*         CALLS  DCB=, WTX=.
  
  
 +        EQ     WTH3 
  
 WTH=     PS                 ENTRY/EXIT 
          SA4    *-1
          ZR     B7,WTH=     IF WORKING BUFFER EMPTY
  
          IF     -DEF,B1=1,1
          SB1    1
  
*         DELETE TRAILING BLANK WORDS.
  
          SA3    WTHA        =1H
          SA1    B6+B7       PRESET (A1)
          SB7    B7+B1
 WTH1     SA1    A1-B1
          IX6    X1-X3
          SB7    B7-B1
          EQ     B7,B1,WTH2 
          ZR     X6,WTH1
 WTH2     SA1    X2+4        (B5) = LIMIT 
          SA3    X2+B1       (X3) = FIRST 
          SB5    X1 
          MX4    0
          NE     B7,B1,WTH3  IF NOT FIRST WORD
          MX4    12 
  
*         INITIALIZE REGISTERS FOR TRANSFER.
  
 WTH3     SA1    A3+2        (B4) = OUT 
          SA2    A3+B1       (X2) = IN
          SB4    X1 
  
*         TRANSFER DATA FROM WORKING BUFFER TO CIRCULAR BUFFER. 
  
 WTH4     SB3    X2+B1       (IN+1) 
          NE     B3,B5,WTH5  IF (IN+1) " LIMIT
          SB3    X3          (IN+1) = FIRST 
 WTH5     EQ     B3,B4,=XDCB= DUMP CIRCULAR BUFFER IF (IN+1) = OUT
          SA1    B6          READ WORD
          SB7    B7-B1       DECREMENT WORD COUNT 
          BX6    X1 
          SA6    X2          STORE WORD 
          SB6    B6+B1       ADVANCE WORKING BUFFER 
          SX2    B3          IN = (IN+1)
          GE     B7,B1,WTH4  LOOP TO LAST WORD
  
          MX1    -12         CHECK LAST BYTE
          BX7    -X1*X6 
          ZR     X7,WTX=     EXIT IF 0000 BYTE
          SB6    WTHB        PREPARE ZERO WORD
          SX7    X7-2R
          NZ     X7,WTH4     IF NOT *  * BYTE 
  
*         DELETE TRAILING SPACE BYTES.
  
          SA1    WTHA        =1H
          BX2    X6-X1
          SX7    B1 
          SA1    WTHC        =40004000400040004000B 
          IX7    X2-X7
          BX2    -X7+X2 
          SB2    60-11
          BX7    X1*X2
          LX2    X7,B2
          IX1    X7-X2
          BX7    X7+X1
          SX2    B3 
          BX7    X7+X4
          BX6    X7*X6
          SA6    A6 
          EQ     =XWTX=      EXIT 
  
 WTHA     DATA   1H 
 WTHB     CON    0
 WTHC     CON    40004000400040004000B
          SPACE  4
          BASE   *
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 WTH=     EQU    /COMCWTH/WTH=
 QUAL$    ENDIF 
          ENDX
