*COMDECK /PUTDCI/ 
 PBNB$SQ  TITLE     START NEXT BLOCK
 PBNB$SQ  BSS       0 
          SET.RM    OWN,1          FOR GET1.SQ                      GNB 
          INC.RM    BN,1           BN+1 -> BN                       GNB 
          SET.RM    STM,0 
          F.RM      LIMIT,B4
          NE        B3,B4,PINOKD
          F.RM      FIRST,B3
 PINOKD   BSS 
          OFF.RM    SOL,NSOL       IF PRU DEVICE
          F.RM      BL,X7 
          SB5       GNBCHWR        RETURN ADDRESS 
          EQ        =YCHWR$RM      CONVERT CHARS TO WORDS 
 GNBCHWR  BSS       0 
          SX1       X7-1           MOVE UBC FROM BIT 18 TO 24 
          AX7       18
          LX7       24
          BX7       X7+X1 
          F.RM      IN,A7          WRITE SOL CONTROL
          SET.RM    BL,0           RESET BL 
          F.RM      BCC 
          ZR        X1,SETIN       IF ON WORD BOUNDARY
          BUFINC    B,3,1,4        ELSE SET TO NEXT BOUNDARY
          SB3       X4
          SET.RM    BCC,0 
 SETIN    BSS       0 
          SET.RM    IN,B3          SET IN TO END OF BLOCK 
          GET1.SQ                  ALLOW FOR NEXT SOLCW 
          EQ        CKI 
 NSOL     BSS       0 
          SET.RM    BL,0           RESET BL 
          SET.RM    IN,B3          SET IN TO END OF BLOCK 
 CKI      BSS       0 
          NE.RM     BT,#IT#,CKW,B2 IF BT=C
          GET1.SQ 
          MX4       36
          F.RM      RC,3           PUT RECORD COUNT IN ICW
          BX3       -X4*X3             MOD 2**24
          SX2       B1             FIRST W.C.W. IN WORD 1           I 
          MX7       59
          ON.RM     OWM,WODD                                        I 
          F.RM      WCR,B4
          GT        B4,B1,WODD     IF W-CONT
          IX3       X3+X2          RC=RC+1
          F.RM      RRL 
          BX2       X1
          F.RM      RL
          SX7       19
          IX2       X2-X1                                           I 
          SA1       TENTH                                           I 
          IX2       X2+X7 
          PX2       X2                                              I 
          FX1       X1*X2                                           I 
          F.RM      MBL,X1,-1 
          IX7       X2-X1          WCW AT (RRL-RL)/10 IF < 511
 WODD     BSS       0 
          LX3       18
          BX2       X2+X3 
          AX7       59
          BX2       X7*X2          ZERO IF GT 511 
          F.RM      BN
          MX7       60-54+42                                        I 
          BX1       -X7*X1                                          I 
          LX1       42                                              I 
          BX2       X2+X1          BLOCK ORDINAL                    I 
          PRTY.SQ   2,7,1                                           I 
 CKW      BSS       0 
          F.RM      WCR,B4
          OFF.RM    TAPE,NOTAPE 
          ON.RM     SOL,KICKIO
          SA1       A0
          LX1       59
          PL        X1,INCKIA      I/O ALREADY GOING, PUSH KIA
KICKIO    BSS       0 
          SET.RM    KIA,0          KICK IO AT END OF RECORD 
 NOTAPE   BSS       0 
          F.RM      MVL,2          SO PUT$WI WILL PRESERVE MVL
          GT        B4,B1,=YPUT$WI IF W-CONT
          SET.RM    OWN,0          FOR NO MORE GET1.SQ              GNB 
          EQ        =YPTLP$SQ 
INCKIA    BSS       0 
          F.RM      BFS,X2
          SX1       B3+X2 
          AX2       4              BUFFER/8 
          IX2       X1-X2 
          SET.RM    KIA,X2,,,CHOP 
          EQ        NOTAPE
* END /PUTDCI/
