*COMDECK,FA=WTC 
          CTEXT  FA=WTC - WRITE CODED LINE, -C- FORMAT
 WTC      SPACE  4
          IF     -DEF,QUAL$,1 
          QUAL   FA=WTC 
  
  
**        FA=WTC - WRITE CODED LINE TO FILE, IN -C- FORMAT. 
* 
*                *FA=WTC* PARALLELS ITS KRONOS MODEL, *COMCWTC*.
*         FOR EFFICIENCY, LINE LENGTH IN WORDS MAY BE PROVIDED IN (B7)
*         ON ENTRY.  THIS WILL AVOID A SCAN FOR AN END-OF-LINE ZERO 
*         BYTE.  IF LENGTH IS NOT PROVIDED, (B7) MUST CONTAIN ZERO. 
* 
* 
*         ENTRY  (X2) = FIT ADDRESS 
*                (B6) = LINE ADDRESS
*                (B7) = LINE LENGTH IN WORDS, OR ZERO - SEE ABOVE 
* 
*         EXIT   (X2) = FIT ADDRESS 
*                (B1) = 1 
* 
*         USES   X - 1, 3, 4, 6, 7
*                A - 1, 4 
*                B - 2, 7 
* 
*         CALLS  PUT
  
  
 FA=WTC   JP     *+4S15      ** ENTRY/EXIT ** 
  
          IF     -DEF,B1=1,1
          SB1    1
  
          IFNE   TEST,0,1 
          LT     B7,B0,*+4S15      IF LENGTH ERROR, ABORT JOB 
  
*         DETERMINE LINE LENGTH (WORDS).
  
          GT     B7,B0,WTC3  IF CALLER PROVIDED LENGTH
          SA1    B6          (X1) = FIRST WORD OF LINE
          MX6    -12D 
 WTC2     BX7    -X6*X1      EXTRACT EOL BYTE FIELD 
          SA1    A1+B1
          NZ     X7,WTC2     IF NOT END-OF-LINE 
          SB7    A1-B6       (B7) = LINE LENGTH (WORDS) 
  
*         DETERMINE LINE LENGTH (CHARACTERS). 
  
 WTC3     SB2    B7-B1
          SX6    B7 
          SA1    B6+B2       (X1) = LAST WORD OF LINE 
          IX7    X6+X6
          LX6    3
          SA4    WTCA        (X4) = CHARACTER BYTE MASK 
          IX7    X6+X7       (X7) = LINE LENGTH (CHARACTERS)
  
*         LOCATE AND COUNT LINE TERMINATING ZERO BYTES.  ADJUST LINE
*         LENGTH (IN CHARACTERS) ACCORDINGLY. 
  
          CX6    X1          MINUS ZERO PROTECT 
          MX3    -1 
          NZ     X6,WTC4     IF LAST WORD NOT NULL
          SA1    A1-1        (X1) = LAST NON-NULL WORD OF LINE
          SX7    X7-10D 
 WTC4     IX6    X1+X3       BORROW PROPAGATES LEFT THRU ALL ZERO BYTES 
          NO
          BX1    -X1*X6 
          SX3    B6          (X3) = LINE ADDRESS
          BX6    X4*X1       RETAIN *40* IN EACH NULL CHAR BYTE POSITION
          NO
          CX1    X6          (X1) = NR OF NULL CHARACTERS 
          IX4    X7-X1       (X4) = LINE LENGTH (NON-NULL CHARACTERS) 
          PUT    X2,X3,X4 
          JP     FA=WTC      EXIT 
  
  
  
 WTCA     DATA   40404040404040404040B
  
  
          IF     -DEF,QUAL$,2 
          QUAL   *
 FA=WTC   EQU    /FA=WTC/FA=WTC 
          ENDX
