*DECK PUTDEK
          IDENT     PUT$EK
          LIST      C,F,X 
          COMMENT   CRM SQ PUT K/E BLOCK PROCESSOR
          ENTRY     PUT$K,PUT$E 
          TITLE     PUT E AND K BLOCKERS
          SST 
          B1=1
 XREG.RM  MICRO     1,,/0/
 FWRD.RM  MICRO     1,,/36B/
*#
*1CD  PUT$KE
*0D   PURPOSE 
*0        INITIATE NEW BLOCK FOR K AND E BLOCKS.
*0D   CALL
*0                  EQ        =YPUT$K (=YPUT$E) 
*0D   PARAMETERS
*0        A0        FIT ADDRESS.
*         B1        1.
*0D   ACTION
*0        PUT$E IS CALLED BEFORE REQUESTED RECORD IS TRANSFERRED TO 
*         THE BUFFER TO ENSURE THAT THE BLOCK LENGTH DOES NOT EXCEED
*         MBL. IF THIS RECORD WOULD CAUSE THAT CONDITION, SET B6 TO 
*         RETURN HERE, GO TO FLBLOCK TO PAD BLOCK OUT TO MNR
*         CHARACTERS, BRANCH TO PUT$SQ (AT KGTRY) TO WRITE OUT
*         BLOCK, EXIT PUT$SQ THROUGH B6 WHICH COMES BACK TO PUT$E,
*         THEN EXIT PUT$E NORMALLY DIRECTLY TO PUT$SQ VIA  EQ =YCM
*         TO PROCESS THE REQUESTED RECORD.
*0        PUT$K IS CALLED AFTER THE CURRENT RECORD IS TRANSFERRED 
*         TO THE BUFFER. DECREMENT KRN AND IF ZERO, RESET KRN=RB, 
*         GO TO FLBLOCK TO PAD OUT BLOCK TO MNR CHARACTERS, AND 
*         RETURN TO PUT$SQ FROM FLBLOCK VIA  EQ =YKGTRY.
*0D   REGISTERS USED
*0        ALL EXCEPT A0,B1. 
*0D   OTHER CODE REQUIRED 
*0        PROGRAMS- ERR$RM,PUT$SQ 
*         MACROS-   CAP.RM,F.RM,SET.RM,SAVE,INC.RM,GET1.SQ,BUFINC 
*0D   NARRATIVE DESCRIPTION 
*#
* CALL /PUTDEK/ 
*CALL /PUTDEK/
          END 
